2010-10-24 115 views
-2

如何匹配锚标签之外的文本?例如:"test <a>test</a>"我想仅在a标签之外进行测试。帮助正则表达式

谢谢。

+0

你究竟想要完成什么? – Gumbo 2010-10-24 18:52:40

+0

我试图替换仅在链接标记之外的文本。 – 2010-10-24 18:54:02

+0

您是否试图在Javascript中使用浏览器完成此操作,或者您是否正在尝试对原始HTML源文件执行此操作? – Pointy 2010-10-24 18:59:24

回答

4

在大多数情况下尝试使用正则表达式解析HTML/XML在大多数情况下是不可行的,因此您正在进入危险的土地。解析标记不是一个选项吗?

+0

我知道:s和i不能解析标记 – 2010-10-24 18:55:06

0

你需要使用预见正则表达式。这些可能相当复杂。有关此主题的更多信息,请参见本页面:http://www.regular-expressions.info/refadv.html

为您简单的例子,这样的事情会做的伎俩:

/test(?=<a>test<\/a>)/ 

然而,它会变得非常非常复杂的,如果你需要匹配针对更加多样化的HTML,以至于如果您不知道如何格式化输入HTML,则可能几乎不可能实现。

因此,从长远来看,使用DOM解析器在HTML文档中查找文本可能会更好。