字母数字和单个空间的正则态度



如何在alpha 数字单词之间允许单个空间?

我使用的正则是 "^(?![0-9]*$)[a-zA-Z0-9]+$" to

  1. 在开始中禁止数字
  2. 允许一个或多个字母字符之后的字母和数字

示例:

允许

  • 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. 第一个字符必须以字母开始
  2. 从第二个字符开始允许的字母数字字符
  3. 字符串中的1个可选空间(不会结束或从空间开始)

表达说明

  • ^表示字符串的开始
  • [a-zA-Z]匹配字母
  • [a-zA-Z0-9]匹配零或更多字母数字字符
  • (?: [a-zA-Z0-9]+)?允许以空间开头的可选字符串,至少1个字母数字字符
  • $表示字符串的末尾

https://regex101.com/r/3ihn6j/4

最新更新