Poszukałem go w Google i dowiedziałem się, jak zrobić z innymi parserami wyrażeń regularnych:
http://vim.wikia.com/wiki/Changing_case_with_regular_expressions
http://www.regular-expressions.info/replacecase.html
Próbowałem tych i żadna z nich nie działa. Na przykład chcę użyć wyrażenia regularnego, aby to zmienić:
private String Name;
private Integer Bar = 2;
Do tego:
private String name;
private Integer bar = 2;
Próbowałem czegoś takiego:
replace: private (\S+) (\S+)
with: private $1 $L$2
with: private $1 \L$2
with: <etc.>
Żaden z nich nie działa. Czy można to zrobić w intellij, czy jest to brakująca funkcja? To jest tylko dla celów edukacyjnych, a przykład jest wymyślony. Chcę tylko wiedzieć, czy można to zrobić w intellij.
java
regex
intellij-idea
Daniel Kaplan
źródło
źródło
Odpowiedzi:
W IDEA 15 możesz użyć poniższych przełączników do przełączania wielkości liter w przechwyconych wyrażeniach. Jest to teraz oficjalnie udokumentowane od czasu wydania tej wersji.
\l
: małe litery w następnym znaku\u
: w górę przypadku kolejnego znaku\L
: małe litery w następnych znakach, aż\E
do końca lub końca zastępującego ciągu\U
: w górę wielkości liter następnych znaków aż do a\E
lub końca ciągu zastępującego\E
: zaznacz koniec zmiany sprawy zainicjowanej przez\U
lub\L
Oto przykład użycia (ponieważ dokumentacja nie jest jasna):
Powyższe spowoduje konwersję
FOO_BAR_BAZ
nafoo_bar_baz
itd. 1 $ odnosi się do pierwszej znalezionej grupy przechwytywania (w nawiasach), 2 $ do drugiego zestawu itd.Dla dobra potomnych: zostało to początkowo zgłoszone przez @gaoagong i tam udokumentowane .
źródło
Szukałem odpowiedzi, a następnie zdałem sobie sprawę, że @ ajp15243 już odpowiedział na to powyżej. Obecnie w Intellij nie ma możliwości użycia funkcji zastępowania wyrażeń regularnych do zmiany wielkości liter. Pod następującym adresem URL znajduje się krótka dyskusja na temat tej funkcji.
http://www.jetbrains.com/idea/webhelp/regular-expression-syntax-reference.html
Możesz także głosować na funkcję w numerze Youtrack tutaj:
http://youtrack.jetbrains.com/issue/IDEA-70451
Istnieje wtyczka regex Intellij, ale niestety nie obsługuje ona również znaków pisowni dolnej i górnej.
http://plugins.jetbrains.com/plugin/19?pr=idea
Być może będziesz musiał po prostu uruchomić pliki przez program w Perlu, aby je poprawnie zastąpić.
źródło
Zacząłem używać wtyczki Idea Vim i nauczyłem się robić takie rzeczy w Vimie. W ten sposób mogłem ponownie wykorzystać te umiejętności poza Idea.
Oto polecenie vim, aby zrobić to, o co prosiłeś.
:%s/private\s\(\w*\)\s\(w*\)/private \1 \L\2/g
Regex jest wprowadzany w IDE. Dodatkowe ukośniki są wymagane, aby uciec ze wzoru wyrażenia regularnego do Vima.
Znajdź wtyczkę z poziomu IDE.
źródło