2012-01-16 7 views
2

을 선택합니다정규 표현식 내가 입력 문자열이 문자열

난 단지 DISPLAY_MSG='Kumar + sajdhjhasd - Type' 그러나 전체 문자열을 일치하는이 표현

DISPLAY_MSG='[\\w\\W\\s\\S]* 

를 사용하여 일치시킬

DISPLAY_MSG='Kumar + sajdhjhasd - Type' 
       and ID=156090 
       and RESOURCE_KEY='Ascend.ElementMaster.kumar_type.desc' 
       and LOCALE='en_US' 

. 어떻게 당신은 가능한 가장 작은 길이로 경기를 줄이기 위해 비 욕심 정량을 사용하여 시도해야

DISPLAY_MSG= 

답변

2

입니다. 이것을 시도하십시오 :

DISPLAY_MSG='[\\w\\W\\s\\S]*?' 
+0

감사합니다. 솔루션이 작동 중 ...하지만 DSIPLAY_MSG를 (다음과 같이) 한 번에 포함하도록 바꾸지 않았습니다. DISPLAY_MSG = '[\\ w \\ W \\ s \\ S] *? '[\\ s] * 및 {0,1}. 그러나 그것은 일치하지 않았습니다. 어떤 경우일까요? – Pokuri

3

이 정규식은 무의미합니다.

[\w\W\s\S] 의미 : 문자가 영숫자 또는 영숫자가 아니거나 공백 또는 공백이 아닌 경우 일치시킵니다. 정확한 결과는 (?s).으로 얻을 수 있습니다. 만 점은 줄 바꿈과 일치 할 수 있습니다 (?s) 옵션을 사용할 수없는 자바 스크립트 (에서

, 그것은 의미가 대신 [\s\S]을 작성할 수 있습니다. 그러나 [\w\W\s\S] 확실히 과잉이다. 그래서

, 더 나은 솔루션을 게으른 한정사를 사용하여

DISPLAY_MSG='(?s).*?' 

될 것이라고하지만 더 나은 실제로 따옴표 사이에 허용되는 작업을 지정하는 것, 그것은 일반적으로 인용 아무것도 하지만입니다 :

DISPLAY_MSG='[^']*' 
관련 문제