php와 reg exp를 사용하여 텍스트에서 "C#"문자열을 찾으려고합니다.유니 코드에서 정규 표현식이 실패합니다.
나는
\bc\x{0023}\b
을 사용하고 그러나 전혀 작동하지 않습니다.
\bc\x{0023}
작동하지만 그 날
모든 단서에 대한 해결책이 아니다?
php와 reg exp를 사용하여 텍스트에서 "C#"문자열을 찾으려고합니다.유니 코드에서 정규 표현식이 실패합니다.
나는
\bc\x{0023}\b
을 사용하고 그러나 전혀 작동하지 않습니다.
\bc\x{0023}
작동하지만 그 날
모든 단서에 대한 해결책이 아니다?
이스케이프 시퀀스 \b
은 단어 경계를 의미하기 때문입니다. Word는 PHP 매뉴얼에 따라 다음과 같이 정의됩니다. ""단어 "문자는 임의의 문자 또는 숫자 또는 밑줄 문자, 즉 Perl"단어 "의 일부가 될 수있는 문자입니다".
단어 경계는 단어와 단어 사이의 경계를 의미합니다. 즉, 단어 문자와 문자 사이의 a는 단어 문자가 아닙니다. 문제는 #
이 단어 문자가 아닙니다. 따라서 #
다음에 단어 문자가 오지 않는 한 #\b
은 절대로 일치하지 않습니다.
아마도 캐릭터 클래스를 사용하여보다 명확하게 정의해야합니다. 예를 /\bc#(?![a-z])/i
를 들어 (즉, C의 AZ의 문자 범위가 따르지 #)
후 \ b를, 나는 \ 예를 들어 사용 bjava \ b 자바, 자바 및 자바 있지만 javabean 찾을 수 –
미안해, 귀하의 솔루션을 잘못 읽었습니다, 그것은 잘 작동합니다. –
유니 코드 작동하지만 그것은 # 실패했습니다 것을 깨달았다 전에 나는이 표현을 사용하고 있었다 유니 코드 나던 –