2013-10-01 42 views
0

我有条件,我必须选择任何不是span标记的一部分。正则表达式不运算

输入 -

​​

正则表达式,其选择<span>标签和它的内容 -

(<span[^>]+class\s*=\s*("|')ptc-highlightedSearchResult\2[^>]*>)[^<]*(</span>) 

我能够选择什么进来跨度及其内容而不是其他。任何帮助不操作将不胜感激。

+0

为什么不使用已经处理XML或HTML的库?正则表达式不适合这样的标记,正如你可以在整个SO中找到的那样。 – BLaZuRE

+0

@BLaZuRE - 我无法使用它们,我对编辑有一些限制,只能用正则表达式来完成。请传达你的建议。 – Devendra

+0

我假设http://docs.oracle.com/javase/1.4.2/docs/api/javax/xml/parsers/package-summary.html不会帮助您?试试这更多的不是运算符:http://stackoverflow.com/questions/7317043/regex-not-operator – BLaZuRE

回答

0

您可以使用此:

((?:(?![^<>]*(?:>))[^<](?![^<>]*</))+) 

regex101 demo

它将匹配没有内部或开始和结束标记之间的任何文本。演示中存在正则表达式的细分。

+0

太好了。非常感谢你! :) – Devendra