以下代码仅匹配MN
。如何使其与KDMN
匹配?
var str = ' New York Stock Exchange (NYSE) under the symbol "KDMN."';
var patt = new RegExp("symbol.+([A-Z]{2,5})");
var res = patt.exec(str);
console.log(res[1]);
答案 0 :(得分:2)
您可以使用惰性+?
量词:
/symbol.+?([A-Z]{2,5})/
^
请参阅regex demo。如果你保持贪婪的.+
,它将匹配尽可能多的字符,并且只留下下一个子模式的最小2个字符。
或者,我宁愿让这个更冗长:
/symbol\s+"([A-Z]{2,5})/
见another regex demo。 symbol
匹配文字字符串symbol
,\s+
将匹配1个或多个空格,"
将匹配双引号,([A-Z]{2,5})
将匹配2到5将大写ASCII字母转换为第1组。