问题描述
|
我在尝试使用JavaScript编写正则表达式时遇到麻烦,该正则表达式可以检测在所有CAPS中键入的至少2个字符的整个单词。
这是我尝试过的方法,似乎很有效。
/\\b[^\\Wa-z0-9_]+\\b/
但是,我将检测用户是否以字符串“我喜欢你”开始。
因为我大写,所以它返回true,因此为什么我只想检测全部都超过2个字母的大写字母的单词。
解决方法
var matches = (\"hoi HOW are YOU doing?\").match(/\\b([A-Z]{2,})\\b/g);
console.log(matches); // [\"HOW\",\"YOU\"]
,您的角色组不必要地复杂。如果您只想使用大写字母,为什么不使用[A-Z]
?
要将其限制为> = 2个字母的单词,请使用{2,}
代替+
作为量词:
/\\b[A-Z]{2,}\\b/
,试试这个作为您的正则表达式:
/\\b[A-Z]{2,}\\b/