Я погуглил для этого и узнал, как делать с другими парсерами регулярных выражений:
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.
java
regex
intellij-idea
Даниэль Каплан
источник
источник
Ответы:
В IDEA 15 вы можете использовать следующие переключатели для переключения регистра захваченных выражений. Теперь это официально задокументировано с момента выпуска этой версии.
\l
: нижний регистр одного следующего символа\u
: вверх по регистру одного следующего символа\L
: нижний регистр следующих символов до a\E
или до конца строки замены\U
: вверх по регистру следующих символов до\E
или до конца строки замены\E
: отметить окончание изменения дела, инициированного\U
или\L
Вот пример использования (поскольку документация не ясна):
Вышеупомянутое будет преобразовано
FOO_BAR_BAZ
в иfoo_bar_baz
т. Д. $ 1 относится к первой найденной группе захвата (в скобках), $ 2 - ко второму набору и т. Д.Ради потомков: изначально об этом сообщил @gaoagong и задокументировано там .
источник
Искал ответ и потом понял, что @ 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, чтобы правильно их заменить.
источник
Я начал использовать плагин Idea Vim и научился делать подобные вещи в Vim. Таким образом, я мог повторно использовать эти навыки вне Idea.
Вот команда vim, которая сделает то, о чем вы просили.
:%s/private\s\(\w*\)\s\(w*\)/private \1 \L\2/g
Регулярное выражение вводится в среде IDE. Дополнительные косые черты необходимы для выхода из шаблона регулярного выражения в Vim.
Найдите плагин в среде IDE.
источник