2016-10-04 2 views
1

내가 만든 사용자 정의 태그를 기반으로 텍스트를 선택하려고하는 벽돌 벽을 맞았습니다.실제 태그 참조 대신 선행 태그 참조 캡처

나는 다음과 같은 BOLD 태그를 선택합니다 :

[영역 ROW, CHNO 귀하의 카드가 유로에 부과됩니다 [/ AREA][AREA 영국, 미국, 홍콩. ] 발견 [/ AREA]

그러나 다음과 같은 정규식 사용 :

\[AREA\s((.*),\sUS,\s.*)\].*?\[.AREA\] 

전체 라인을 선택합니다. 나는 그것이 전체 라인을 선택하는 이유를 이해하지만, 첫 번째 태그를 무시하는 방법을 이해할 수는 없다.

[영역 ROW, CHNO 귀하의 카드가 유로가 부과됩니다. [/ AREA] [AREA 영국, 미국, 홍콩] 발견 [/ AREA]

당신이 도와 드릴까요 ?

답변

2

문제는 욕심 .*[AREA\s,\sUS 사이에서 가장 긴 일치 일치되는 정규식에 ,\sUS[AREA\s 사이의 존재이다.

당신은 단지 다음에 쉼표까지 일치 할 수 있도록 부정 문자 클래스를 사용할 수 있습니다

\[AREA\s[^,]+,\sUS,\s.*?\].*?\[\/AREA\] 

RegEx Demo

+1

감사 답장을 보내, 내가 정규식을 즐길 수 있지만, 나는 자주하지 않습니다. 내가 실패한 이유를 설명해 주셔서 감사합니다! 이제이 논리를 다른 표현식에 사용할 것입니다. 굉장히 유용하다. – c14kaa

관련 문제