Как предотвратить pcre (библиотека C), чтобы продолжить сопоставление, когда он потерпел неудачу в одной строке? - PullRequest
1 голос
/ 26 октября 2011

Если у меня есть строка и шаблон:

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()?

1 Ответ

2 голосов
/ 26 октября 2011

Попробуйте это.

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

Еще лучше, не анализируйте HTML (или его фрагменты, или XML) с регулярным выражением.

...