J'ai cherché sur Google et découvert comment faire avec les autres analyseurs d'expressions régulières:
http://vim.wikia.com/wiki/Changing_case_with_regular_expressions
http://www.regular-expressions.info/replacecase.html
J'ai essayé ces derniers et aucun travail. Par exemple, je veux utiliser une expression régulière pour changer cela:
private String Name;
private Integer Bar = 2;
Pour ça:
private String name;
private Integer bar = 2;
J'ai essayé quelque chose comme ça:
replace: private (\S+) (\S+)
with: private $1 $L$2
with: private $1 \L$2
with: <etc.>
Aucun ne fonctionne. Est-il possible de le faire dans intellij, ou est-ce une fonctionnalité manquante? C'est juste à des fins éducatives et l'exemple est artificiel. Je veux juste savoir si c'est possible de faire dans l'intellij.
Dans IDEA 15 , vous pouvez utiliser les commutateurs ci-dessous pour basculer la casse des expressions capturées. C'est maintenant officiellement documenté depuis la sortie de cette version.
\l
: réduit la casse du caractère suivant\u
: la casse du caractère suivant\L
: abaisser la casse des caractères suivants jusqu'à ce que \E
ou la fin de la chaîne de remplacement\U
: remonter la casse des caractères suivants jusqu'à ce que \E
ou la fin de la chaîne de remplacement\E
: marque la fin d'un changement de cas initié par \U
ou \L
Voici un exemple d'utilisation (car la documentation n'est pas claire):
trouver: (\ w + _) + (\ w +) remplacer:\L $ 1 $ 2\E
Ce qui précède convertira FOO_BAR_BAZ
à foo_bar_baz
etc Le $ 1 fait référence au premier groupe de capture trouvé (entre parenthèses), $ 2 au deuxième ensemble, etc.
Pour la postérité: c'était initialement rapporté par @gaoagong et documenté là .
J'ai recherché la réponse, puis réalisé que @ ajp15243 a déjà répondu à cette question ci-dessus. Il n'y a actuellement aucun moyen dans Intellij d'utiliser leur fonction de remplacement d'expression régulière pour changer la casse d'une lettre. Il y a une brève discussion à l'URL suivante sur la fonctionnalité.
http://www.jetbrains.com/idea/webhelp/regular-expression-syntax-reference.html
Vous pouvez également voter pour la fonctionnalité du numéro Youtrack ici:
http://youtrack.jetbrains.com/issue/IDEA-70451
Il existe un plugin regex Intellij, mais malheureusement, il ne prend pas en charge les boîtiers inférieur et supérieur.
http://plugins.jetbrains.com/plugin/19?pr=idea
Vous devrez peut-être simplement exécuter les fichiers via un programme Perl pour les remplacer correctement.
J'ai commencé à utiliser le plugin Idea Vim et j'ai appris à faire des choses comme ça dans Vim. De cette façon, je pourrais réutiliser ces compétences en dehors d'Idea.
Voici la commande vim pour faire ce que vous avez demandé.
:%s/private\s\(\w*\)\s\(w*\)/private \1 \L\2/g
Regex étant entré dans l'IDE. Les barres obliques supplémentaires sont nécessaires pour échapper au motif d'expression régulière dans le Vim.
Trouvez le plugin depuis l'IDE.