提取一些字符串

时间:2011-02-24 21:48:34

标签: regex

需要一些关于这个RegEx魔法的帮助..

我有这个: <a href="/en/node/1032/delete?destination=node%2F5%2Fblog">delete</a>

和此:

(<a)*([^>]*>)[^<]*(</a>)



$1 = <a
$2 = href="/en/node/1032/delete?destination=node%2F5%2Fblog">
$3 = </a>

我需要一些附加的字符串:

  • 1032
  • href="/en/ en是动态的!

我怎样才能得到这个字符串?

用于php

2 个答案:

答案 0 :(得分:1)

您的样本可以使用

捕获

(<a)\b.*?((href="/en/).*?(?</)(\d+)/.*?").*?>).*?(</a>)

......但也许用更广泛的东西取代“en”,取决于你想要捕捉的东西。

但是,我想强调一下, don't use regex to parse HTML 。上述正则表达式不适用于某些HTML有效输入,并且由于limitations of regex无法对其进行细化以适用于所有可能的情况。使用HTML或XML解析器,您将获得更好,更正确的结果。

答案 1 :(得分:0)

([^ /])。那会给你 HREF =#&34; 恩 节点 1032