[java] Intellij IDEA에서 정규식을 사용하여 대문자를 소문자로 바꾸려면 어떻게해야합니까?
나는 이것을 검색하고 다른 정규식 파서로 수행하는 방법을 찾았습니다.
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에서 가능한지 알고 싶습니다.
답변
IDEA 15에서는 아래 스위치를 사용하여 캡처 된 표현의 경우를 전환 할 수 있습니다. 이 버전이 출시 된 이후 공식적으로 문서화 되었습니다.
\l
: 다음 문자의 대소 문자를 소문자로\u
: 다음 문자의 경우 위로\L
:\E
대체 문자열이 끝날 때까지 다음 문자의 대소 문자를 소문자로 합니다.\U
:\E
대체 문자열이 끝날 때까지 다음 문자의 대소 문자를 위로\E
:\U
또는에 의해 시작된 케이스 변경의 끝을 표시합니다.\L
다음은 사용 예입니다 (문서가 명확하지 않기 때문에).
찾기 : (\ w + _) + (\ w +) 바꾸기 : \ L $ 1 $ 2 \ E
위의 내용은 etc 로 변환 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
정규식 Intellij 플러그인이 있지만 아쉽게도 소문자 및 대문자를 지원하지 않습니다.
http://plugins.jetbrains.com/plugin/19?pr=idea
파일을 올바르게 바꾸려면 perl 프로그램을 통해 파일을 실행해야 할 수도 있습니다.