繁体   English   中英

SLRE正则表达式无法正常工作

[英]SLRE regex doesn't work properly

我的SLRE库有问题,我想不通如何在比赛后停止抓取所有内容。 假设我有一个html输出,在缓冲区中间的某处有我要解析的行

name="id" value="1a2b3c4d5e6f" />

这是我的正则表达式

slre_compile(&test, "name=\"id\" value=\"(.*?)\" />")

我已经读过其他线程中的贪婪和非贪婪标志,在这些线程中人们曾经遇到过与我类似的问题,但是在我的情况下添加 表达式没有任何改变。 SLRE从1a2b3c4d5e6f" />开始返回匹配项,并显示以</html>标记结尾的html页面的其余部分,只是我不知道为什么。它剪切了html源代码的开头,但在表达式之后保留了所有内容。也尝试过正则表达式

slre_compile(&test, "^.*?name=\"id\" value=\"(.*?)\" />.*?$")

还有一些,用贪婪和非贪婪的标志进行了修改,这给了我相同的结果。 有谁知道为什么SLRE无法在" />停止并继续捕获字符,直到源字符串结束?

似乎SLRE无法理解非贪婪的限定词和语法分析.*? 而是好像(?:.*)? 但是,在这种情况下, \\"[^\\"]*\\"应该有效...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM