我正在测试一个正则表达式,我对匹配结果很好奇,
符号 * 是绿色的,在我的选项中,结果应该只匹配 1 个结果,如下所示:
<script language=javascript>
ati('#', '../../../UpLoadFile/Product/20101010162153846.jpg', '加厚青色围脖');
}
</script>
<script language=javascript>
ati
但结果不是我所期望的,任何人都可以帮我解释一下,谢谢?
*
是贪婪的,但它只是匹配\s
,这意味着空白字符。如果您想将所有内容匹配到 ati 的最后一次出现,请.*
改用。
如果此环境与 . 不匹配换行符,也许您可以通过匹配来包含它们(.|\n)*
它不能匹配你想要的,因为你只匹配它的开头。
当你在 2 个标记之间寻找任意的东西时,贪婪会得到你,你会得到第一个和最后一个之间的所有东西,即
/<p>.*<\/p>/
通常,当您这样做时,您需要所有p
元素。但是如果没有不贪心.*?
或U
标志,您将获得第一个实例和最后一个实例之间的所有内容。