2017-10-21 4 views
-1

을 정규식 : "\b\w+\b"부정 클래스는 내가 토큰 화 텍스트이 정규식을 쓴

하지만 누군가가 나에게로 변환 suggets \b[^\W\d_]+\b

수 (부정 사용)이 두 번째 방법은 더 나은 왜 나에게 explaing 누구?

감사합니다.

+2

더 좋지는 않습니다. – Maroun

+0

'[^ \ W \ d_]'는 숫자와 밑줄을 제외합니다. 제외 하시겠습니까? – Ryan

+0

예, 제 의도는 텍스트를 토큰 화하는 것입니다. –

답변

1

처음 문자는 모든 문자, 숫자 및 밑줄과 일치합니다. 정규식 엔진에 따라 유니 코드 문자와 숫자가 포함될 수 있습니다. (이 경우 단어 경계는 불필요합니다.)

두 번째 정규식은 문자 (문자가 아닌 문자, 숫자 및 밑줄 제외) 만 찾습니다. 단어 경계로 인해 단어가 아닌 문자 또는 문자열의 시작/끝으로 둘러싸인 경우에만 일치합니다.

정규식 엔진이 이것을 지원하면 의도를 명확하게하기 위해 [[:alpha:]] 또는 \p{L} (또는 유니 코드가 아닌 경우 [A-Za-z])을 사용할 수 있습니다.