我正在寻找一个正则表达式来验证首字母缩写.我希望它允许的唯一格式是:
(一个资本,然后是一个时期),那一次或多次
有效示例:
A.
AB
ABC
示例无效:
一个.
一个
甲
AB
ABC
AB
ABC
使用Regulator和一些网站我发现了以下正则表达式,但它只允许一个上(或下!)大小写字符后跟一个句点:
^[A-Z][/.]$
Run Code Online (Sandbox Code Playgroud)
基本上我只需要知道如何强制大写字符,以及如何重复验证以允许更多的大写字符后面出现一个句点.
这是一个快速的正则表达式课程:
a完全匹配一个aa+a匹配连续一个或多个ab匹配a后跟bab+连续匹配a一个或多个b(ab)+匹配一个或多个a后跟b所以在这种情况下,类似这样的事情应该有效:
^([A-Z][.])+$
Run Code Online (Sandbox Code Playgroud)
你也可以使用这样的东西:
^(?:[A-Z]\.)+$
Run Code Online (Sandbox Code Playgroud)
是(?:pattern)一个非捕获群。这\.就是匹配文字的方式.,因为否则它是一个表示“(几乎)任何字符”的元字符。
既然您说过要匹配首字母缩写,您可能需要对合理的重复次数施加一些限制。
正则表达式中的有限重复语法如下所示:
^(?:[A-Z]\.){1,10}$
Run Code Online (Sandbox Code Playgroud)
这将匹配至少一个但最多 10 个字母和句点重复(请参阅 rubular.com)。