【问题标题】:Regex to match uppercase Expressions and Words正则表达式匹配大写表达式和单词
【发布时间】:2015-12-03 12:30:22
【问题描述】:

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

示例: 你好世界!这是一个阳光明媚的日子。

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

\b[A-Z]+\b

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

It's SUNNY today.

【问题讨论】:

    标签: regex sublimetext2 sublimetext3


    【解决方案1】:

    你可以简单地使用

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

    regex demo

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

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    相关资源
    最近更新 更多