我需要一个正则表达式,通过Visual Studio搜索引擎(可能是C#)在HTML元素之间查找Text。
什么在某种程度上正常工作是这样的:
>\s*([\w])+\s*<
但它必须匹配以下所有“asdf”:
<element>asdf
<element>asdf.</element>asdf
<element />
asdf asdf
</element>
<element>
asdf!
</element>
它不应该找到的是两个标签之间的空白区域,此示例应与NOTHING匹配:
<element>
<element> </element>
</element>
我特别需要的是正则表达式,匹配:
我不想在没有\ w的情况下获得包含特殊字符的匹配。
另一个根本不起作用的是:
>\s*((?=[\w]+)(?=[ ?=()!"_]*))\s*<
满足我需求的正确方法是什么?
非常感谢!
在匹配><
s之间的文本之前,您可以使用一个前瞻:
>(?=[^<]*\w).*?<
(使用“s”标志,所以dot匹配换行符 - 或者,使用像[\S\s]*?
而不是.*?
这样的东西)
前瞻确保>
和<
之间有一个单词字符。然后,匹配并懒惰重复任何角色,直到你到达<
。