正则表达式以匹配所有首字母缩写词

时间:2018-09-19 10:08:45

标签: c# regex

我正在寻找一个正则表达式来匹配N.A.S.A.等首字母缩写词。但也没有结束点的N.A.S.A。 此解决方案RegEx to match acronyms有效,但仅适用于以'。'结尾的缩写。

匹配“ N.A.S.A”和“ N.A.S.A.”的任何想法?

2 个答案:

答案 0 :(得分:0)

\b(?:[a-zA-Z]\.){2,}解决方案将非捕获组内部的模式重复2次或更多次。您需要确保最后不需要.

\b[a-zA-Z](?:\.[a-zA-Z])+\b

要在最后一个字母后也匹配.,请添加\.?

\b[a-zA-Z](?:\.[a-zA-Z])+\b\.?

请参见regex demo

注意:仅匹配大写字母,请删除a-z

模式匹配

  • \b-前导词边界
  • [a-zA-Z]-1个ASCII字母
  • (?:\.[a-zA-Z])+-1个或更多(因此,至少需要2个字母)重复
    • \.-点
    • [a-zA-Z]-1个ASCII字母
  • \b-尾随单词边界
  • \.?-1或0 .个字符。

PS :要启用任何Unicode字母支持,请将[a-zA-Z]替换为\p{L},将[A-Z]替换为\p{Lu}

答案 1 :(得分:-1)

没关系;) 我是这样的:\b([a-z0-9]\.){1,}[a-z0-9]?\b