我想限制在特定输入字段中使用未转义的&符号。我无法使用RegEx来杀死“&”的使用除非后面跟“amp;”......或者只是限制使用“&”(注意空格)。
我试图调整答案in this thread,但无济于事。感谢。
(FWIW,这是一个RegEx,我确保文件名字段不包含重写的字符。并以.mp3结尾。它工作正常,但它看起来效率高吗?)
^[^&,<,>,:,",/,\\,|,?,\*]+(\.mp3|\.MP3|\.Mp3|\.mP3)$
答案 0 :(得分:8)
此正则表达式匹配&
后面没有amp;
的任何事件:
/&(?!amp;)/
此正则表达式接受包含&
以外的字符或字符串&
的字符串:
/^([^&]|&)*$/
您可以使用其中一种,具体取决于哪种方式最方便。不同之处在于,如果第一个正则表达式匹配,则字符串应被拒绝,而如果第二个正则表达式匹配,则字符串应接受。
答案 1 :(得分:0)
您可以在/&(?!amp;)/
上进行匹配,找到任何&amp;'后面跟&amp; amp。 (?!)构造称为negative lookahead。
假设您正在使用支持它们的正则表达式引擎,无论如何。我知道Perl / PCRE正则表达式。