我正在尝试编写一个正则表达式来接受名称,如果它包含a-z A-Z,但是某些名称可能包含连字符或撇号。到目前为止,我有这个,它不匹配任何东西:
(^[a-zA-Z]['][-]$)
答案 0 :(得分:2)
您的正则表达式^[a-zA-Z]['][-]$
与后跟'
和-
的字母相匹配。类似于a'-
。
您需要添加量词和可选组(*
将允许0次或更多次出现),例如
^[a-zA-Z]+(?:['-][a-zA-Z]+)*$
^^^^^^^^^^^^^^^^^^^
请参阅regex demo
模式锚定整个匹配(它应匹配整个字符串),它匹配一个或多个字母([a-zA-Z]+
),然后 0或更多次出现 {{1} }或'
(感谢-
)后跟1+个字母。
答案 1 :(得分:1)