RegEx拒绝未转义的HTML字符

JDV*_*V72 1 html regex xml escaping ampersand

我想限制在特定输入字段中使用未转义的&符号.我无法使用RegEx来杀死"&"的使用,除非后面跟"amp;"......或者只是限制使用"&"(注意空格).

我尝试在这个帖子中调整答案,但无济于事.谢谢.

(FWIW,这是我做的RegEx,以确保文件名字段不包含重写的字符.并以.mp3结尾.它工作正常,但它看起来效率高吗?)

^[^&,<,>,:,",/,\\,|,?,\*]+(\.mp3|\.MP3|\.Mp3|\.mP3)$
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 8

此正则表达式匹配的任何事件&之后不是其中amp;:

/&(?!amp;)/
Run Code Online (Sandbox Code Playgroud)

Rubular

此正则表达式接受包含字符&的字符串,或字符串&amp;:

/^([^&]|&amp;)*$/
Run Code Online (Sandbox Code Playgroud)

Rubular

您可以使用其中一种,具体取决于哪种方式最方便.不同之处在于,如果第一个正则表达式匹配,则应拒绝该字符串,而如果第二个正则表达式匹配,则应接受该字符串.