如何在alpha 数字单词之间允许单个空间?
我使用的正则是 "^(?![0-9]*$)[a-zA-Z0-9]+$"
to
- 在开始中禁止数字
- 允许一个或多个字母字符之后的字母和数字
示例:
允许
-
Google
, -
Car 401
,目前不允许! -
Car401
禁止
-
012 Avenue
, -
Central Park
, -
34134
测试:https://regex101.com/r/stk21o/2/
您可以使用以下否定外观来丢弃以数字开头的字符串,否则捕获文本,只能仅用一个空间分开,
^(?!d)[a-zA-Zd]+(?: [a-zA-Zd]+)*$
REGEX的说明:
-
^
-字符串的开始 -
(?!d)
-如果字符串以数字开头
,则拒绝匹配 -
[a-zA-Zd]+
-捕获一个或多个字母数字字符 -
(?: [a-zA-Zd]+)*
-进一步捕获零或更多单个空间分离的字母数字字符 -
$
-字符串的结尾
demo
此表达式应该做。
^[a-zA-Z][a-zA-Z0-9]*(?: [a-zA-Z0-9]+)?$
规则
- 第一个字符必须以字母开始
- 从第二个字符开始允许的字母数字字符
- 字符串中的1个可选空间(不会结束或从空间开始)
表达说明
-
^
表示字符串的开始 -
[a-zA-Z]
匹配字母 -
[a-zA-Z0-9]
匹配零或更多字母数字字符 -
(?: [a-zA-Z0-9]+)?
允许以空间开头的可选字符串,至少1个字母数字字符 -
$
表示字符串的末尾
https://regex101.com/r/3ihn6j/4