我正在开发一个vbs regexp,它会在关闭标记之前检测包含文本和CRLF字符的标记。
我目前正在使用\w+[:;?!.,""\)\]-~]*(\s)*(\r\n\s*)(<\/.*>)
从表达式的末尾看,我匹配任何结束标记,CRLF加上可选的空格,CRLF之前的可选空格,它应该可选地匹配任何单词之后出现的任何其他可见的非字母字符。
这是为了匹配像
这样的东西myword! CRLF</tag>
mywordCRLF</tag>
myword CRLF</tag>
myword...CRLF </tag>
等
但是,我不想在下面匹配,因为我需要检测包含TEXT和换行符的标签。
</otherclosingtag> CRLF </tag>
我担心\w+[:;?!.,""\)\]-~]*
位,因为它看起来不对我,因为我需要在这里插入相当多的字符。
我尝试用\ S,\ W替换它,但它们似乎都匹配CRLF字符。
有什么想法吗?
干杯!
答案 0 :(得分:1)
如何使用非贪婪的修饰符:
\w+\W*?\r\n\s*(<\/.*>)
或
\w+[^\r\n]*\r\n\s*(<\/.*>)
答案 1 :(得分:1)
我使用的解决方案:
\w+[^\r\n<>]*(\r\n\s*)(<\/.*>)
它匹配一个单词(所以没有)然后匹配任何不是CR,LF或&gt;的东西。 (因此它不匹配openingtag> CRLF</closingtag>
)
这是M42提议的修改版本,我添加了&lt;&gt;确保我们不会匹配标签。
感谢您的建议!
答案 2 :(得分:0)
试试这个:
^.*[\n\t\s]*</.*>$ --> BAD
^.*[\r\n\t\s]*</.*>$