2015-02-01 12 views
0

그래서 우리는 VB에서 다음과 같은 텍스트가 말할 수 여기서VB 정규식 : X와 Y 사이의 문자열이 텍스트 내부에 여러 개의 X가

"ABC X ABC X ABC Y ABC X ABC X ABC Y ABC X를" X ABC Y 나는이 패턴 시도

:

나는 단지 다음 발생 추출 할 수 있도록하려면 X를 (. *?) Y

그러나 불행하게도 그것은부터 전체를 돌려줍니다 첫 번째 X :

"X ABC X ABC Y"나는 Y 전에 마지막 X와 Y를

답변

0

를 사용하여 부정 된 문자 클래스 사이의 문자열을 얻을 필요가

.

X([^X]*)Y 

또는

X(?:(?!\bX\b).)*Y 

DEMO

그것은 다음 X를 일치 시키려고 한 후 일치하는 항목을 찾으면 첫 번째 X하고 다음 Y. 개까지 다음과 같은 문자와 일치 X(.*?)Y

귀하의 정규식과 모든 문자는 다음 Y까지 올라갑니다.