问题描述
我知道如果包含所有字母的正则表达式用于匹配,则它是^[a-zA-Z]+$
,因此我认为对这个正则表达式的否定将是答案,并尝试了^(?!^[a-zA-Z])+$
,但似乎不起作用。 / p>
为了提供一些上下文,我正在使用SurveyJS表单创建器创建一个基本表单,该表单创建器仅通过正则表达式接受自定义验证。某种形式的输入应允许用户输入任何内容,并且仅当用户仅填写字母时才抛出错误。
解决方法
您可以使用
^(?![a-zA-Z]+$).*
否定的前瞻确保整个行不仅包含a-zA-Z
,直到$
(行尾-这就是为什么它包含在内部内部-而不是其外部)的原因),然后.*
将匹配任何通过否定超前查询的内容。
演示:https://regex101.com/r/QuC2SQ/1