使用找到缩写的正则表达式模式

时间:2014-08-20 08:30:39

标签: regex

我正在查看大量数据,需要识别某些模式,其中一种模式是缩写。在我正在经历的内容中识别它们的基本规则是

  • 他们都是大写字母。
  • 它们被点分开。
  • 它们可能是一个或多个字母
  • 他们可能会或可能不会以点结尾。
  • 我正在查看单个单词,因此不需要在字符串中查找多个匹配项。

实例 美国,美国,美国,美国,V。

有人可以帮我构建正则表达式搜索模式吗?

非常感谢 MS

3 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

^([A-Z]\.)*[A-Z]\.?$

RegEx Demo

答案 1 :(得分:0)

这应该可以解决问题:

\b(?:\p{Lu}\.)*\p{Lu}\b\.?

Demo

我已经使用了\p{Lu}(unicode大写字母),因为你想匹配任何字母。

如果您无法在方言中识别\b unicode,可以选择以下方法:

(?<!\p{L})(?:\p{Lu}\.)*\p{Lu}(?!\p{L})\.?

答案 2 :(得分:0)

这会奏效。它也匹配结束点。

 \b([A-Z]\.)*[A-Z]\b\.?