我需要根据以下规则验证人员姓名首字母:
- 必须以 Alpha (AZ) 开头
- 必须以 Alpha (AZ) 结尾
- 字母字符必须用空格或连字符分隔
据我所知:
^[[:alpha:]]([[:alpha:]]|([[:blank:]-])[[:alpha:]])*([[:blank:]-][:alpha:]|[:alpha:])?$
它执行 1 和 2(并允许使用空格和连字符),但不确保字母字符由空格或连字符分隔,即 AD 评估为真。
谢谢你的帮助。我对正则表达式很陌生,因此感谢您的帮助。
^([A-Z][ -])*[A-Z]$
- start
- -- any number of times
----- a capital letter
---- followed by exactly one separator (space or hyphen)
----- followed by a final (and possibly initial) capital letter
字母符号还是 AZ?
[:alpha:] == [A-Za-z]
试试这个 RE:
^[A-Z]([\s\-][A-Z])*$
"A B C" = true
"ABC" = false
"123" = false
"A B-C" = true
"A BC" = false
RE 是否允许单个字母字符或多个?