如何在字母数字单词之间允许单个空格?
我使用的正则表达式是"^(?![ 0-9]*$)[a-zA-Z0-9]$"
到
示例:
允许
谷歌
,401车
,目前不允许!401车
不允许
012 Avenue
,中央公园
,34134
测试:https://regex101.com/r/StK21o/2/
您可以使用这个正则表达式,它使用负向前看来丢弃以数字开头的字符串,否则捕获只能用一个空格分隔的文本,
^(?!\d)[a-zA-Z\d]+(?: [a-zA-Z\d]+)*$
正则表达式的解释:
^
-字符串的开头(?!\d)
-如果字符串以数字开头,则拒绝匹配[a-zA-Z\d]
-捕获一个或多个字母数字字符(?:[a-zA-Z\d])*
-进一步捕获零个或多个空格分隔的字母数字字符$
-字符串结尾演示
这个表达式应该可以。
[a-zA-Z][a-zA-Z0-9]* (?:\ [a-zA-Z0-9])? $
^
表示字符串的开头[a-zA-Z]
匹配字母表[a-zA-Z0-9]
匹配零个或多个字母数字字符(?:\ [a-zA-Z0-9] )?
允许一组以空格开头的可选字符串,后跟至少1个字母数字字符$
表示字符串的结尾https://regex101.com/r/3IHN6j/4