我有一些要使用正则表达式匹配的字符串:
es-us
fr
(0破折号)fr-ca
(1个破折号)xx-xx-xx
(两个破折号)我有一个正则表达式的起点,如:([a-z])+-([a-z])+-([a-z])+
,它与上面的xx-xx-xx示例匹配,但是排除了破折号为1或更少的字符串。因此,在上面的示例中,我如何使其也匹配fr-ca
或fr
或en-us
?注意:应该允许所有字符,而不仅仅是fr-ca
或fr
答案 0 :(得分:2)
这可能是重复的,但是我不确定要搜索什么。无论哪种方式,这都是一个简单的答案:^[a-zA-Z]{2}(?:-[a-zA-Z]{2}){0,2}$
答案 1 :(得分:1)
要使任何句段都具有匹配的大小写,请使用:
^([a-z]{2}|[A-Z]{2})(?:-([a-z]{2}|[A-Z]{2})){0,2}$