Php Regex排除已经匹配的某种模式

时间:2012-09-24 11:43:09

标签: php regex

大家好,我需要一只手拿着下面的图案:

(?<=\")([0-9\.\/])+(?=\")

内容

<ul>
<li><a href="../">..</a></li>
<li><a href="1.0/">1.0/</a></li>
<li><a href="1.1/">1.1/</a></li>
<li><a href="1.23/">1.23/</a></li>
</ul>

上述模式选择../, 1.0/, 1.1/, 1.23/

想要匹配../,但是数字,句号和/的任何排列都应匹配。

请帮我一把。

一如既往地谢谢。

2 个答案:

答案 0 :(得分:2)

您可以在现有正则表达式中添加否定前瞻声明:

(?<=\")(?!\.\.)([0-9\.\/])+(?=\")
       ^^^^^^^^

See it

答案 1 :(得分:1)

我通过添加否定前瞻来修改你的正则表达式((?!\。))。

(?<=\")(?!\.)([0-9\.\/])+(?=\")