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

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

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

된다

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

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



답변

당신은 할 수있다:

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

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


답변

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

찾기:

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

바꾸다:

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

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


답변

같은 정규 표현식으로 검색하기 전에 [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그것이 아마 인해로, 하나의 교체를 허용하지 않는다는 것입니다 발견 (당신이 정확한 이유를 알고 있다면 제발 편집이)의 “경계없는”제한.


답변

정규식

찾기 :\w+

교체 :\L$0

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

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

$0 캡처 그룹


답변

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

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

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


답변

이 시도

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

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


답변