正则表达式问题

时间:2010-10-11 04:51:09

标签: regex greedy

demo 我正在测试正则表达式,我对匹配结果感到好奇,

符号*是greendy,在我的选项中,结果shuld只匹配1个结果, 像下面这样:

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

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

2 个答案:

答案 0 :(得分:1)

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

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

来包含它们

答案 1 :(得分:1)

它无法与您想要的匹配,因为您只匹配它的开头。

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

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

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