正则表达式PHP如何匹配标记后跟

时间:2015-11-09 14:58:23

标签: php html regex

我无法找到解决此问题的方法: 我想匹配 标签之间的所有文本,然后在()里面跟着4个数字。
Exg。 我想要匹配这个:

<i>Alien - Resurrection </i> (1997)
<i>Alien - Resurrection </i>(1997)
<i>Alien - Resurrection </i>
(1997)

现在如果它找到了:

<li> Alien -Resurrection </i> bla bla bla <i> Alien the first one </i> (1991)


它匹配整个字符串, 但我希望它只匹配

<i> Alien the first one </i> (1991)


严格的规则是在标签之后必须有4个数字进入括号()

我的正则表达式现在看起来像这样:

/<i>(.*?)<\/i> \(([0-9]*)\)/s

1 个答案:

答案 0 :(得分:1)

使用锚..

/^<i>([\s\S]*?)<\/i>\s*\(([0-9]{4})\)$/

DEMO