2014-10-24 2 views
1

다음과 같이 길이가 문자로 된 단어를 찾을 필요가 있습니다 (나는 알고 있습니다).텍스트에서 단어 찾기 tath는 영문자가 아닌 문자로 시작할 수 있습니다

My text is very beautyfull. Yours $text is very bautyfull. Their #text, is very beautyfull 

#$은 샘플입니다. 에 (잘 내가 #text 또는 $text을 검색하지만 난 단지 text를 검색 할 때 모든 항목을 일치하는 경우 세

(?<=^|[^a-zA-Z0-9])\Q<word>\E(?=$|[^a-zA-Z0-9]) 

tath 일 : 나는 다음과 같은 정규식을 발견

비 alphnumerical 문자를 가질 수 있습니다 아래 예제 참조) 대신 하나의 발생 text. 정규식으로이를 수행 할 수있는 방법이 있습니까?

답변

0

긍정적 인 lookbehind 내부에 있던 첫 번째 부정적인 char 클래스에 #$을 추가하십시오. ? [^ \ |이`(<=^그것은 # 또는 $ 또는 a-z 또는 A-Z 또는

(?<=^|[^a-zA-Z0-9$#])\Qtext\E(?=$|[^a-zA-Z0-9]) 

DEMO

+0

0-9 선행 된 문자열 text 일치하지 않습니다 또는 당신은 간단하게 사용할 수 있도록 '$'('$ \ '[^ \ S])' –

+0

'#'과'$'는 단순하다. 나는 다른 문자를 가질 수있다. 비 문자 숫자 문자로도 작업 할 수있는'\ b' 같은 것이 필요합니다. – theShadow89

+0

네,하지만'\ Q \ E'를 제거해야합니다.'$ Q'를 찾아야 할 경우'$ Q'가 해석되기 때문에'\ Q \ E'를 제거하지 않고도 달성하고 싶습니다라고 –

관련 문제