Подтвердить что ты не робот

Как я могу использовать регулярное выражение для замены верхнего регистра нижним регистром в 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.

4b9b3361

Ответ 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