some text I want to capture. <tag> junk I don't care about</tag> more stuff I want.
한 번의 캡처로 첫 번째와 세 번째 문장을 캡처하는 정규식을 작성하는 쉬운 방법이 있습니까?정규식에서 캡처를 결합
some text I want to capture. <tag> junk I don't care about</tag> more stuff I want.
한 번의 캡처로 첫 번째와 세 번째 문장을 캡처하는 정규식을 작성하는 쉬운 방법이 있습니까?정규식에서 캡처를 결합
이해할 수 없습니다. 보통 regex search-and-replace 함수를 사용하면 처음부터 여러 캡처 그룹을 참조 할 수 있습니다.
아니요, 불가능합니다. 해결책은 두 개의 별도 캡처로 캡처 한 다음 사실 이후에 연결하는 것입니다. 이 사이트에이 나이 스레드에 따르면
:당신은 또한 원치 않는 데이터를 제거하고 캡처 고려할 수 있습니다.
data = "some text to capture. <tag>junk</tag> other stuff to capture".
data = re.replace('<tag>[^<]*</tag>', data, "")
data_match = re.match('[\w\. ]+', data)
그룹 캡처는 연속이어서 수행 할 수 없습니다. 아래처럼 정규식 하나 개의 구문 분석에서 할 코드의 라인을 가입 할 수 있습니다
^(?<line1>.*?)(?:\<\w*\>.*?\</\w*\>)(?<line3>.*?)$
여기가 아닌 정규식 방법, </tag>
에 분할, <tag>
에 분할 한 후, <tag>
을 찾아 배열 항목을 가서 처음 얻을이다 요소. 예 :
>>> s="some text I want to capture. <tag> junk I don't care about</tag> more stuff I want. <tag> don't care </tag> i care"
>>> for item in s.split("</tag>"):
... if "<tag>" in item:
... print item.split("<tag>")[0]
... else:
... print item
...
some text I want to capture.
more stuff I want.
i care
asp.net의 기능을 사용하면 동일하게 수행 할 수 있습니다.