Uda*_*ade 4 regex regex-negation regular-language
我在下面写了正则表达式,但我遇到了一个问题:
^[^\.]*[a-zA-Z]+$
Run Code Online (Sandbox Code Playgroud)
按照上面的正则表达式,df45543是无效的,但我想允许这样的字符串.只有一个字母字符是必填字符,不允许使用点.允许所有其他字符.
只需将数字添加为允许的字符:
^[^\.]*[a-zA-Z0-9]+$
Run Code Online (Sandbox Code Playgroud)
见演示
如果你需要禁止点,并允许至少1个英文字母,那么使用前瞻:
^(?!.*\.)(?=.*[a-zA-Z]).+$
Run Code Online (Sandbox Code Playgroud)
(?!.*\.)不允许字符串中的点,并且(?=.*[a-zA-Z])至少需要一个英文字母.
另一种情况是仅在开始时不允许点.然后,使用
^(?!\.)(?=.*[a-zA-Z]).+$
Run Code Online (Sandbox Code Playgroud)