2013-07-04 3 views
2

내 정규식 (?:[^\S\n]|[^[:cntrl:]])*정규식은

인 대괄호를 무시하고 일치 Benjamin Edward Ben는 전체 문자열, 즉 "벤자민 에드워드 벤"과 일치합니다.

"Benjamin Edw [ard] Ben"과 같이 대괄호로 텍스트를 입력하면 첫 번째 대괄호 (예 : "Benjamin Edw")와 일치합니다.

다른 텍스트 (예 : "Benjamin Edw * ard^Ben")와 텍스트를 비교하려고하면 "Benjamin Edw * ard^Ben"과 같은 전체 문자열과 일치합니다.

대괄호가있는 경우에도 전체 문자열과 일치하도록 정규식을 어떻게 변경합니까?

미리 감사드립니다.

+1

일치하는 – Anirudha

+0

정교하게하십시오. 귀하의 질문이 ezactly 무엇인지 이해하는 데 문제가 있습니다. 간단한 ([\ w \ s \ [\]])'작업을하겠습니까? – tr33hous

+0

@Anirudh - 나는 전체 문자열을 일치시키고 싶다 - 나는 그 정규 표현식을 원한다. (Benjamin Edw [ard] Ben에게 돌아 가기 위해 ... 반환 만 Benjamin Edw – ozczecho

답변

2

문제가 [:cntrl:] ..Change와 그것을

[:cntrl:]\p{Cc}[:cntrl:]

유사

\p{Cc} 일치합니다 제어 문자를 주시면 감사하겠습니다 귀하 정규식은

(?:[^\S\n]|[^\p{Cc}])* 
참고

[^\S\n]

[^\S\n\p{Cc}]* 

유사하다

위의 정규식과 함께 당신은 또한 공간을 일치합니다 newlines.So 제외하고 공백 문자와 일치하는 의미 당신이 허용 원하는 작업 문자

+0

Thanks @Anirudh & tr33hous - 죄송합니다. 제 질문은 분명하지 않았습니다. 나는 네가 perservering 주셔서 감사합니다 ... – ozczecho

0

regex의 대괄호 앞에 \\을 사용해보세요.

1

문자열 만 일치 시키려면 ([\w\s\[\]]+)으로 단순화하는 것이 좋습니다. 또한 설명이 클래스 형식은 .NET에서 지원되지 않습니다