Как я могу использовать регулярное выражение для замены верхнего регистра нижним регистром в Intellij IDEA?
Я искал это для поиска и узнал, как это сделать с другими парсерами regex:
http://vim.wikia.com/wiki/Changing_case_with_regular_expressions
http://www.regular-expressions.info/replacecase.html
Я пробовал и не работал. В качестве примера я хочу использовать регулярное выражение, чтобы изменить это:
private String Name;
private Integer Bar = 2;
Для этого:
private String Name;
private Integer Bar = 2;
Я пробовал что-то вроде этого:
replace: private (\S+) (\S+)
with: private $1 $L$2
with: private $1 \L$2
with: <etc.>
Ни один из них не работает. Возможно ли это сделать в intellij, или это недостающая функция? Это только для образовательных целей, и этот пример надуман. Я просто хочу знать, можно ли это сделать в intellij.
Ответы
Ответ 1
В IDEA 15 вы можете использовать приведенные ниже переключатели для переключения случая захваченных выражений. Это теперь официально задокументировано с момента выпуска этой версии.
-
\l
: опустить следующий символ
-
\u
: в случае следующего символа
-
\l
: оставьте нижние символы следующих символов до тех пор, пока \E
или конец строки замены
-
\u
: до появления следующих символов до \E
или конца строки замены
-
\E
: отметьте конец изменения случая, инициированного \u
или \l
Вот пример использования (поскольку документация не ясна):
найти: (\ w + _) + (\ w +) замените:\L $1 $2\E
Вышеуказанное преобразует FOO_BAR_BAZ
в FOO_BAR_BAZ
и т.д.
$ 1 относится к первой найденной группе захвата (в скобках), $2 ко второму набору и т.д.
Для потомков: это было первоначально сообщено @gaoagong и задокументировано там.
Ответ 2
Искал ответ, а затем понял, что @ajp15243 уже ответил на это выше. В Intellij нет способа использовать функцию замены регулярных выражений, чтобы изменить случай буквы. Ниже приведено краткое обсуждение следующего URL-адреса этой функции.
http://www.jetbrains.com/idea/webhelp/regular-expression-syntax-reference.html
Вы также можете проголосовать за эту функцию в Youtrack:
http://youtrack.jetbrains.com/issue/IDEA-70451
Существует плагин Regex Intellij, но, увы, он также не поддерживает нижний и верхний кожухи.
http://plugins.jetbrains.com/plugin/19?pr=idea
Вам просто нужно запустить файлы через программу perl, чтобы их правильно заменить.
Ответ 3
Я начал использовать плагин Idea Vim и научиться делать подобные вещи в Vim. Таким образом, я мог бы повторно использовать эти навыки вне идеи.
Вот команда vim выполнить то, что вы просили.
:%s/private\s\(\w*\)\s\(w*\)/private \1 \L\2/g
Регулярное выражение вводится в IDE. Дополнительные косые черты необходимы, чтобы избежать шаблона регулярных выражений в Vim.
![Within The IDE]()
Найти плагин из среды IDE.
![enter image description here]()