匹配大写表达式和单词的正则表达式
Regex to match uppercase Expressions and Words
使用 Sublime Text 3 我只想从文本中提取大写单词和表达式。
示例:
你好世界!这对所有人来说都是晴天。
如果我使用查找工具,我可以使用这个正则表达式单独提取所有大写单词:
\b[A-Z]+\b
结果是 SUNNY 和 DAY,但我想把 SUNNY DAY 作为一个整体来考虑,通过查找工具提取,而不留下简单的单词,例如:
It's SUNNY today.
您可以简单地使用
\b[A-Z]+(?:\s+[A-Z]+)*\b
我在正则表达式中添加了 (?:\s+[A-Z]+)*
以匹配 0 个或多个序列:
\s+
- 1 个或更多空格
[A-Z]+
- A-Z
范围内的 1 个或多个字符。
请注意,如果您需要匹配 Unicode 大写字母,请使用 \p{Lu}
而不是 [A-Z]
(它也会匹配重音字母):
\b\p{Lu}+(?:\s+\p{Lu}+)*\b
使用 Sublime Text 3 我只想从文本中提取大写单词和表达式。
示例: 你好世界!这对所有人来说都是晴天。
如果我使用查找工具,我可以使用这个正则表达式单独提取所有大写单词:
\b[A-Z]+\b
结果是 SUNNY 和 DAY,但我想把 SUNNY DAY 作为一个整体来考虑,通过查找工具提取,而不留下简单的单词,例如:
It's SUNNY today.
您可以简单地使用
\b[A-Z]+(?:\s+[A-Z]+)*\b
我在正则表达式中添加了 (?:\s+[A-Z]+)*
以匹配 0 个或多个序列:
\s+
- 1 个或更多空格[A-Z]+
-A-Z
范围内的 1 个或多个字符。
请注意,如果您需要匹配 Unicode 大写字母,请使用 \p{Lu}
而不是 [A-Z]
(它也会匹配重音字母):
\b\p{Lu}+(?:\s+\p{Lu}+)*\b