2012-12-14 5 views
0

조직의 이름과 URL이 포함 된 긴 HTML 파일이 있습니다. 코드의 각 조직의 "섹션"은 "조직"이라는 단어로 구분되며 그 뒤에 URL이 해당 코드 안에 있으며 "조직"이라는 단어로 끝납니다.두 문자열 내에서 URL 찾기 regex

예를 들어

:

조직 - (어딘가 내부에있는 URL에) 많은 코드 - 조직 내가 검색하고 URL을 추출하는 정규식을 사용하는 것을 시도했다

하지만 아무 소용이 .

organization(?<Protocol>\w+):\/\/(?<Domain>[\[email protected]][\w.:@]+)\/?[\w\.?=%&=\ @/$,]*organization 

나는 내 문제는 내 그냥 단어 "조직"을 사용하여 URL의에 대한 검색을 구별하려고 어딘가에 자리 잡고 있습니다 의심하지만 난 모르겠습니다. 이에서

+0

'organization. *?'... r 만약 당신이'.'을 개행 문자에 매치 시키면'organization (. | \ s) *? '등의 정규 표현식을 사용할 수 있습니다. – Wrikken

+2

* 실제 * 예제를 보여줄 수 있습니까? ? 우리의 솔루션을 테스트 할 수있는 것이 있습니까? – ghoti

답변

0

현재 정규 표현식은 "조직"의 두 인스턴스 사이에 바로 끼워 무언가를 찾고있다. "조직"과 URL 사이에 문자가있을 가능성이있는 경우 아무거나의 인스턴스 (예 : .*?)에 대해 욕심이 많지 않은 일치를 도입해야하며, 혼합에 개행 문자가 있으면 (?:.|\n)*?을 사용해야합니다 .

그래서 정규식이된다 :
organization(?:.|\n)*?(?<Protocol>\w+):\/\/(?<Domain>[\[email protected]][\w.:@]+)\/?[\w\.?=%&=\ @/$,]*(?:.|\n)*?organization

합니다 (굵은 삽입의이 잘못 공백을 가지고을 표시하지만, 당신이 선택하면 그렇지 않습니다 때문입니다. 복사 및 붙여 넣기, 공백없이 올바르게 붙여 넣기)

+0

감사. 나는 그것을 시도했지만 다음과 같은 결과를 얻었다. – DCL

+0

ghoti가 주석에서 지적했듯이, 어떤 종류의 예제도 제공하지 않았으므로 테스트 할 방법이 없다. 이 시점에서 우리가 할 수있는 일은 어둠 속에서 찌르는 것입니다. – joequincy