【发布时间】:2018-09-11 06:46:55
【问题描述】:
我需要一个正则表达式来通过 Visual Studion 搜索引擎(可能通过 C#)在 HTML 元素之间查找文本。
在某种程度上可以正常工作的是:
>\s*([\w])+\s*<
但它必须匹配以下所有“asdf”:
<element>asdf
<element>asdf.</element>asdf
<element />
asdf asdf
</element>
<element>
asdf!
</element>
它不应该找到两个标签之间的空格,这个例子应该匹配NOTHING:
<element>
<element> </element>
</element>
我特别需要的是一个匹配的正则表达式:
- 从 > 开始
- 以 结尾
- 在这些之间至少有一个单词字符 (\w) 是强制性的
- 一堆特殊字符是必需的(_ . ? , !SPACE)是可选的
- 在开始/结束和内容之间可能存在不可预知的空白长度(意味着它的长度也可以为零)
- 开始和结束之间的字符顺序是绝对随机的
我不想得到包含不带 \w 的特殊字符的匹配项。
另一个根本不起作用的是:
>\s*((?=[\w]+)(?=[ ?=()!"_]*))\s*<
满足我需求的正确方法是什么?
非常感谢!
【问题讨论】:
-
我提供的输入包含一个 .和一个!。我认为这将表明我对这些“特殊字符”的目的。不,我的意思是它们确实是允许的,但只有当强制字符也出现在这个区域时,表达式才匹配。
-
对不起,我把特殊字符描述为必填项是错误的 - iment OPTIONAL(已更改)