我目前正在使用此正则表达式为我的名字\A^[a-zA-Z'.,\s-]*\z
;但是,我不希望在撇号,句号,逗号,空格或连字符中有任何连续的字符。我怎么能这样做?
答案 0 :(得分:1)
重要的部分是(?:[a-zA-Z]|['.,\s-](?!['.,\s-]))
。
意义:
(?:
[a-zA-Z] # letters
| # or
['.,\s-] # any of these
(?!['.,\s-]) # but in front can not be another of these
)
但是,在这种情况下:
Guedes, Washington
------^^----------
会使名称无效,因此您可能希望从否定前瞻中删除\s
。
希望它有所帮助。
答案 1 :(得分:1)
这个怎么样(字母串,可能以其中一个终结者字符结尾)
\A^[a-zA-Z]*['.,\s-]?\z