영어 문자열입니다
<code>When I was young,my uncle king of the jungle,one day he call me,and say we walk to the river,i asked why? my uncle say, you must learn how to cherish the water.</code>
그 단어만큼 작동하는 정규식을 작성하고 싶습니다.
제가 쓴 내용입니다.
<code>[^a-zA-Z]young[^a-zA-Z]</code>
그런데 기사의 첫 단어를 찾을 수 없습니다
온라인 정규 표현식
영어 문자열입니다
<code>When I was young,my uncle king of the jungle,one day he call me,and say we walk to the river,i asked why? my uncle say, you must learn how to cherish the water.</code>
그 단어만큼 작동하는 정규식을 작성하고 싶습니다.
제가 쓴 내용입니다.
<code>[^a-zA-Z]young[^a-zA-Z]</code>
근데 기사의 첫 단어를 못찾겠어요
온라인 정규 표현식
[^a-zA-Z]
을 [^a-zA-Z]?
으로 바꾸면 끝입니다
<code>(^|[^a-zA-Z])you([^a-zA-Z]|$) </code>
(^|[^a-zA-Z])When([^a-zA-Z]|$)
첫 번째 단어와 마지막 단어를 고려하면 괜찮다고 생각합니다. 사실 가장 쉬운 방법은 문자열의 앞부분과 뒷부분에 특수 문자를 추가하는 것입니다. 원래 정규 표현식이 성공적으로 일치할 수 있습니다.
[^a-zA-Z]
이 패턴 은 "a to z 또는 A to Z" 가 아닌 문자와 일치합니다. When 앞에 문자가 없으므로 당연히 그럴 수 없습니다. 일치합니다. 일치하는 다른 단어도 공백과 일치합니다.
공백을 원하지 않는 경우 실제로 이스케이프 문자 b를 사용하여 단어 경계를 일치시킬 수 있습니다. 이 이스케이프 문자는 공백과 구두점으로 구성된 시작, 끝 및 단어 경계와 일치할 수 있습니다. .
bWhenb
그렇죠.