正则表达式:找到大写字母

时间:2016-01-26 10:09:04

标签: javascript regex

如何使用正则表达式查找和提取字符串的大写单词?

我想:

  1. 提取字符串的大写单词,作为数组
  2. 提取字符串的最后一个大写字,作为子字符串:
  3. 两者都有一个正则表达式

    如果我有这个:

    var str="This is a STRING of WORDS to search";
    

    我想得到这个1:

    allCapWords // = ["STRING", "WORDS"]
    

    和2:

    lastCapWord // = "WORDS"
    

3 个答案:

答案 0 :(得分:4)

将单词提取到数组中:

var allCapWords = str.match(/\b[A-Z]+\b/g);
-> ["STRING", "WORDS"]

Here's a Regex101 test与您的字符串。)

拉最后一句话:

var lastCapWord = allCapWords[allCapWords.length - 1];
-> "WORDS"

答案 1 :(得分:2)

 var str="This is a STRING of WORDS to search";
 var regObj =  /\b([A-Z]+)\b/g;  
 allCapWords = str.match(regObj);

答案 2 :(得分:1)

如果您对字符串中的捕获数字感兴趣,可以尝试使用此regexpr /\b[A-Z]+\b/g\b[A-Z0-9]+\b/g