정규식은 대문자를 소문자로 바꿉니다.


220

정규식을 사용하여 대문자를 해당 소문자로 바꾸려고합니다. 그래서

EarTH:   1,
MerCury: 0.2408467,
venuS:   0.61519726,

된다

earth:   1,
mercury: 0.2408467,
venus:   0.61519726,

숭고한 텍스트. 소문자와 대문자를 모두 포함하는 단어에서만 문자를 소문자로 바꿀 수 있습니까? 그래서 그것은 영향을 미치지 venUs않습니다 VENUS.

답변:


393

당신은 할 수있다:

찾기 : (\w) 바꾸기 :\L$1

또는 ctrl+ K+ 텍스트를 선택하십시오 L.


7
감독자. 굉장히 유용하다. '\ L'과 같은 변환을 나열하는 리소스를 가리킬 수 있습니까?
Codious-JR

17
Sublime은 RegEx 지원을 위해 Boost를 사용합니다. \ L과 같은 형식 문자열에 대한 문서는 다음과 같습니다. boost.org/doc/libs/1_44_0/libs/regex/doc/html/boost_regex/…
Alex K.

4
그리고 IntelliJ에서
Patrick Patrick

11
참고 : 대문자로 이동하려면 다음이 필요합니다.\U
takanuva15

2
단일 매개 변수 만 소문자로하려면 소문자 섹션을 끝내기 위해 뒤에 \ E를 입력하십시오. $1\L$2\E$3
Michael

129

나는 이것이 다른 사람들에게도 유용 할 것이라고 생각했다.

찾기:

  • ([A-Z])(.*)

바꾸다:

  • \L$1$2-> 모든 문자를 변환합니다 $1$2소문자로
    하지만
  • \l$1$2->의 첫 글자 만 $1소문자로 변환하고 다른 것은 그대로 둡니다.

동일은 대문자 간다 \U하고\u


7
\l$1$2$1이 경우 전체 를 소문자 로만 만들 것입니다.$i 에는 한 글자 만 포함 . \l=> 첫 글자 뒤 소문자, \u=> 첫 글자 뒤 소문자 다음의 모든 편지에 어디서 \U그리고 \I무엇을 하든지.
Raisch

5
또는 시퀀스 를 \E종료합니다 . \L\U
Ludovic Kuty 2019

77

같은 정규 표현식으로 검색하기 전에 [A-Z], 당신이해야 하는 경우 민감한 버튼을 누르면 (또는 Alt+ C(로) leemour 정중하게 제안 허용 대답에서 편집 할). 분명히하기 위해 몇 가지 다른 예를 남겨두고 있습니다.

  1. 단어를 대문자
    • 찾기 : (\s)([a-z])( \s"venuS"=> "VenuS"와 같이 새 줄과도 일치)
    • 바꾸다: $1\u$2
  2. 대문자를 사용하지 않습니다
    • 찾기: (\s)([A-Z])
    • 바꾸다: $1\l$2
  3. 낙타 케이스 제거 (예 : cAmelCAse => camelcAse => camelcase)
    • 찾기: ([a-z])([A-Z])
    • 바꾸다: $1\l$2
  4. 단어 내 소문자 (예 : LowerCASe => 소문자)
    • 찾기: (\w)([A-Z]+)
    • 바꾸다: $1\L$2
    • 대체 교체 : \L$0
  5. 단어 내 대문자 (예 : upperCASe => uPPERCASE)
    • 찾기: (\w)([A-Z]+)
    • 바꾸다: $1\U$2
  6. 대문자 이전 (예 : upperCase => 대문자)
    • 찾기: (\w+)([A-Z])
    • 바꾸다: \U$1$2
  7. 소문자 이전 (예 : LOWERCase => 소문자)
    • 찾기: (\w+)([A-Z])
    • 바꾸다: \L$1$2
  8. 나머지 대문자 (예 : upperCase => upperCASE)
    • 찾기: ([A-Z])(\w+)
    • 바꾸다: $1\U$2
  9. 나머지는 소문자로 입력하십시오 (예 : lOWERCASE => lO 소문자).
    • 찾기: ([A-Z])(\w+)
    • 바꾸다: $1\L$2
  10. Shift- 오른쪽 대문자 (예 : Case => cAse => caSe => casE)
    • 찾기: ([a-z\s])([A-Z])(\w)
    • 바꾸다: $1\l$2\u$3
  11. Shift- 왼쪽 대문자 (예 : CasE => CaSe => CAse => Case)
    • 찾기: (\w)([A-Z])([a-z\s])
    • 바꾸다: \u$1\l$2$3

질문에 대해 ( 대소 문자소문자가 하나 이상 일치하는 단어를 소문자로 지정), leemour의 주석 답변정답 입니다. 명확히하기 위해 교체 할 그룹이 하나 뿐인 경우 ?:내부 그룹 (예 : 비 캡처 그룹 )에서 사용하거나 그룹을 만들지 않아도 됩니다.

  • 찾기: ((?:[a-z][A-Z]+)|(?:[A-Z]+[a-z])) 또는([a-z][A-Z]+|[A-Z]+[a-z])
  • 바꾸다: \L$1

2016-06-23 편집

Tyler 는이 답변을 편집하여 # 4의 대체 찾기 표현식을 제안했습니다.

  • (\B)([A-Z]+)

에 따르면 문서 , \B(시작과 끝이 아니라에서 즉,하지) 단어의 경계에 있지 않은 문자를 찾습니다. 모두 바꾸기 버튼을 사용할 수 있으며 (\w)([A-Z]+)찾기 식과 동일한 기능을 수행합니다 .

그러나, 단점은 \B그것이 아마 인해로, 하나의 교체를 허용하지 않는다는 것입니다 발견 (당신이 정확한 이유를 알고 있다면 제발 편집이)의 "경계없는"제한.


2

정규식

찾기 :\w+

교체 :\L$0

Sublime Text는 Boost 라이브러리의 PCRE (Perl Compatible Regular Expressions) 엔진을 사용하여 검색 패널에서 정규식을 강화합니다.

\L 모든 것을 소문자로 변환

$0 캡처 그룹


설명이없는 코드 답변이 아닌 전체 답변을 작성하십시오.
petezurich

1

BBEdit 에서이 작업을 수행합니다 (예 : ID 값을 소문자로 변경).

모든 값 검색 : <a id="(?P<x>.*?)"></a> 소문자로 동일하게 대체하십시오.<a id="\L\P<x>\E"></a>

이 되었습니까 : <a id="VALUE"></a> 이되었다 :<a id="value"></a>


0

이 시도

  • 찾기: ([A-Z])([A-Z]+)\b
  • 바꾸다: $1\L$2

대소 문자 구분이 켜져 있는지 확인하십시오 (Alt + C).


작동하지 않습니다. 대문자 2 개 이상과 일치합니다. 그러나 나는 그것이 \L소문자 임을 이해합니다 . 질문을 업데이트했습니다.
leemour
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.