[英]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.