有人可以为我提供一个能找到这个字符串的正则表达式:<% 但将排除此字符串:<%@ 感谢。
答案 0 :(得分:5)
如果您使用的是.NET,那么您正在寻找的正则表达式是:
<%(?!@)
它也适用于非.NET应用程序,但某些正则表达式实现不支持(?!)
答案 1 :(得分:2)
不同的正则表达式语法之间的确切正确答案有所不同,但这样的事情应该有效:
<%[^@]
或者如果您的正则表达式语法允许:
<%([^@]|$)
后者也会匹配字符串(或行)结尾处出现&lt;%,而第一个正则表达式可能不匹配。
最后,正如其他海报所示,如果您的正则表达式语言具有“零宽度负前瞻断言”(如Perl和C#),这也可能有效:
<%(?!@)
答案 2 :(得分:1)
这个怎么样
<%([^@]|$)
它匹配字符串的末尾或[^ @],这是一个包含除@
之外的所有字符的字符类答案 3 :(得分:1)
根据您更新的请求,其中任何一个都可以使用:
<%(?!@|-)
<%(?![@-])