【发布时间】:2013-10-07 05:02:03
【问题描述】:
我有一个条件,我必须选择不属于 span 标签的任何内容。
输入 -
the <span class='ptc-highlightedSearchResult'>PISTON</span> has their <span class='ptc-highlightedSearchResult'>ROD</span> ring
选择<span>标签及其内容的正则表达式 -
(<span[^>]+class\s*=\s*("|')ptc-highlightedSearchResult\2[^>]*>)[^<]*(</span>)
我可以选择跨度及其内容中的任何内容,但不能选择其他内容。任何关于 NOT 操作的帮助将不胜感激。
【问题讨论】:
-
为什么不使用已经处理 XML 或 HTML 的库呢?正则表达式不是最适合这样的标记,你可以在整个 SO 中找到。
-
@BLaZuRE - 我不能使用它们,我对编辑有一些限制,只能使用正则表达式。请传递您的建议。
-
我假设docs.oracle.com/javase/1.4.2/docs/api/javax/xml/parsers/… 不会帮助你?试试这个关于 not 运算符的更多信息:stackoverflow.com/questions/7317043/regex-not-operator
-
@Devendraw 您可以在替换中使用此正则表达式来删除所有跨度,您将离开外面的东西。
-
@Jerry - 抱歉,我也无法删除 span 和 span 的内容。我只想选择剩余的文本并希望在用户输入他的输入时突出显示它们。所以 标签将继续添加到页面上。请建议正则表达式避免它们及其内容并选择其他字符串部分。
标签: java html regex regex-negation