(.+)Cart is empty (Refresh)
gpt4 book ai didi

来自相同正则表达式字符串的 C# 和 JavaScript 结果非常不同 - 如何使结果更一致?

转载 作者:行者123 更新时间:2023-11-30 18:50:34 25 4
gpt4 key购买 nike

reg ex字符串如下:

px\">(.+)</SPAN

当我在 C# 中将此代码与此表达式一起使用,并与 html 文档的主体进行比较时,我得到一个短字符串,如下所示:

匹配 match = Regex.Match( fullText, regExString, RegexOptions.IgnoreCase );

.. 得到

px">Cart is empty </span><a href="http://www.somesite.co.uk/shop/cart.aspx"><span style="font-size:10px">(Refresh)</span

当我在 JavaScript 中对同一个字符串使用同一个表达式时,我几乎得到了整个 html 文档。

var re = new RegExp(regExInnerString, "i");
var m = re.exec(fullText);

... 得到

完整的 HTML 文档!

现在,我知道表达式不是很具体,我期待几个匹配项。但我不明白为什么 c# 和 javascript 会返回如此不同的字符串。

谁能帮我控制表达式结果的输出,使它们更一致?

谢谢

最佳答案

你的.+正在贪婪。尝试使用 .+?并使其变得懒惰,以便尽可能少地获取。这样它将捕获第一个 </span而不是最后一个

关于来自相同正则表达式字符串的 C# 和 JavaScript 结果非常不同 - 如何使结果更一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4046065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com