Regex 不允许在正则表达式中使用以下字符:~%^*=[{}]|<&燃气轮机;
我正在使用这个正则表达式:Regex 不允许在正则表达式中使用以下字符:~%^*=[{}]|<&燃气轮机;,regex,regex-negation,Regex,Regex Negation,我正在使用这个正则表达式: ^(?!.*&#.*)[a-zA-Z0-9!@_'?., `#$&()-\\\\/:"]*$ 但它接受以下字符:*=+[; 我如何禁止它们?我尝试添加此(?!*(~%^*=+[{}]|”),但它不起作用!请确保在那里转义- ^(?!.*&#.*)[a-zA-Z0-9!@_'?., `#$&()\\-\\\\/:"]*$ ^^ 您使用的语言/库/工具是什么?我已经编
^(?!.*&#.*)[a-zA-Z0-9!@_'?., `#$&()-\\\\/:"]*$
但它接受以下字符:*=+[;
我如何禁止它们?我尝试添加此
(?!*(~%^*=+[{}]|”)
,但它不起作用!请确保在那里转义-
^(?!.*&#.*)[a-zA-Z0-9!@_'?., `#$&()\\-\\\\/:"]*$
^^
您使用的语言/库/工具是什么?我已经编辑了您的正则表达式以更好地显示。请检查它们并确保我并没有引入任何错误。看起来您需要转义正则表达式中的一些字符(如此之多,以至于我无法真正说出您的字面意思)。还有HTML实体,如
&;
和"
在这样的字符类中没有任何意义。我也很困惑,因为您的反向前瞻不允许&;
,但您在正则表达式中也将其作为允许的字符类。@MikeBrant似乎允许&
和
但不允许子字符串&
@JohnKugelman我的评论是ref编辑之前的原始帖子中有HTML实体。我相信在实际正则表达式中应该只有两个反斜杠。这些额外的内容是为了使它们正确显示,并且应该被删除,就像HTML实体一样。在正则表达式中,连字符和t之前应该只有一个反斜杠之后是wo。添加了4个额外的反斜杠使其工作,因为它不工作可能是因为我使用了配置文件Thank@JohnKugelman。这是我的问题!我添加了这个\\-现在它不允许其他字符!