0

演示 我正在测试一个正则表达式,我对匹配结果很好奇,

符号 * 是绿色的,在我的选项中,结果应该只匹配 1 个结果,如下所示:

<script language=javascript>
ati('#', '../../../UpLoadFile/Product/20101010162153846.jpg', '加厚青色围脖');
}
</script>
<script language=javascript>
ati

但结果不是我所期望的,任何人都可以帮我解释一下,谢谢?

4

2 回答 2

1

*是贪婪的,但它只是匹配\s,这意味着空白字符。如果您想将所有内容匹配到 ati 的最后一次出现,请.*改用。

如果此环境与 . 不匹配换行符,也许您可​​以通过匹配来包含它们(.|\n)*

于 2010-10-11T04:55:13.210 回答
1

它不能匹配你想要的,因为你只匹配它的开头。

当你在 2 个标记之间寻找任意的东西时,贪婪会得到你,你会得到第一个和最后一个之间的所有东西,即

/<p>.*<\/p>/

通常,当您这样做时,您需要所有p元素。但是如果没有不贪心.*?U标志,您将获得第一个实例和最后一个实例之间的所有内容。

于 2010-10-11T04:55:42.973 回答