2011-10-25 1 views
1

나는 문자열과 패턴이있는 경우 : pcre (C 라이브러리)가 한 문자열에서 실패한 경우 계속 일치하는 것을 방지하려면 어떻게해야합니까?

char src[]="\"http://www.aaa.cn\"</tab><tab>\"www.bbb.com\""; 
char pattern[] = "\"http:\/\/.*\.com\""; 

는 그 다음 나에게 "http://www.aaa.cn\"</tab><tab>\"www.bbb.com"를 (그것이 실패했지만 다음 문자를 일치 계속) 반환합니다.

"http://www.aaa.com", "http://www.bbb.com"과 같은 일부 조합 된 문자열은 좋지 않습니다.

누군가 나를 도울 수 있습니까? 내 패턴을 변경하거나 pcre_compile()pcre_exec() 함수에 몇 가지 인수를 추가해야합니까?

답변

2

시도해보십시오.

char pattern[] = "\"http://[^\"]*\""; 

HTML (또는 그 단편 또는 XML)을 regexen으로 구문 분석하지 마십시오.

+0

감사합니다. 지금 작업 중입니다. HTML에서 URL을 선택하는 다른 방법을 알려주시겠습니까? – Hession

+0

@hession, 아마 당신은 별도의 질문으로 물어볼 수 있으며, 당신의 언어/응용 환경을 알려주고, 입력 예를 제시해야합니다. – pilcrow