我正在寻找一个正则表达式来验证首字母。我希望它允许的唯一格式是:
(大写后跟一段时间),一次或多次
有效示例:
一个。
A.B.
A.B.C.
无效的例子:
一个。
一个
一个
A B
A B C
AB
ABC
使用The Regulator和一些网站我发现了以下正则表达式,但它只允许一个上(或下!)个字符后跟一个句点:
^[A-Z][/.]$
基本上我只需要知道如何强制大写字符,以及我如何重复验证以允许更多的大写字符后面出现一个句点。
答案 0 :(得分:5)
你几乎是正确的:+
说“一个或多个事件”而且是\.
,而不是/.
将其包含在()
中表示它是一个群组。
^([A-Z]\.)+$
答案 1 :(得分:4)
这是一个快速的正则表达课:
a
只匹配一个a
a+
与一行中的一个或多个a
匹配ab
匹配a
后跟b
ab+
匹配a
后跟一个或多个b
连续(ab)+
匹配a
后跟b
所以在这种情况下,这样的事情应该有效:
^([A-Z][.])+$
您也可以使用以下内容:
^(?:[A-Z]\.)+$
(?:pattern)
是非捕获组。 \.
是您匹配文字.
的方式,因为否则它是一个元字符,表示“(几乎)任何字符”。
既然你说你匹配姓名缩写,你可能想对合理的重复次数施加一些限制。
正则表达式中有限的重复语法是这样的:
^(?:[A-Z]\.){1,10}$
这将匹配至少一个,但最多只能匹配10个字母和句点重复(see on rubular.com)。
答案 2 :(得分:3)
你想要的正则表达式是这样的:
^(?:[A-Z]\.)+$
?:将该组标记为未捕获
然而,区分大小写是一种在每种语言中处理不同的标志。但在大多数实现中,它默认是活动的