正则表达式匹配大写的表达式和单词

时间:2015-12-03 12:30:22

标签: regex sublimetext2 sublimetext3

使用Sublime Text 3我想从文本中仅提取大写单词和表达式。

实施例: 你好,世界!对所有人来说,这是一个阳光灿烂的日子。

如果我使用查找工具,我可以使用此正则表达式单独提取所有大写单词:

\b[A-Z]+\b

结果是SUNNY和DAY,但我想将SUNNY DAY作为一个整体来提取通过查找工具,而不会留下简单的单词,如:

It's SUNNY today.

1 个答案:

答案 0 :(得分:1)

您只需使用

即可
\b[A-Z]+(?:\s+[A-Z]+)*\b

请参阅regex demo

我将(?:\s+[A-Z]+)*添加到正则表达式以匹配0或更多序列:

  • \s+ - 一个或多个空格
  • [A-Z]+ - A-Z范围内的一个或多个字符。

enter image description here

请注意,如果您需要匹配Unicode大写字母,请使用\p{Lu}代替[A-Z](它也会匹配重音字母):

\b\p{Lu}+(?:\s+\p{Lu}+)*\b