2011-04-13 74 views
2

我在尝试在JavaScript中编写正则表达式时遇到问题,该正则表达式可以检测在所有大写中键入的至少2个字符的整个单词。检测字符串中的所有大写字母

这是我试过的,它似乎工作。

/\b[^\Wa-z0-9_]+\b/ 

但是,我会检测用户是否启动了一个字符串“我喜欢你”。

因为,我是大写,它返回true,因此,我只想检测所有大于2个字母的大写字母。

回答

3
var matches = ("hoi HOW are YOU doing?").match(/\b([A-Z]{2,})\b/g); 
console.log(matches); // ["HOW", "YOU"] 
+0

感谢杰罗姆我得到了它加工。我很欣赏这种回应。 – Rob 2011-04-14 21:39:22

6

你的角色组是不必要的复杂。如果您只需要大写字母,为什么不使用[A-Z]

将其限制于> = 2个字母的单词,用{2,}代替+作为量词:

/\b[A-Z]{2,}\b/ 
2

试试这个作为你的正则表达式:

/\b[A-Z]{2,}\b/