2013-05-13 42 views
1

这里是一个正则表达式我使用来检测文本中的所有表情:正则表达式只检测第一个表情符号?

/[\:][0-9A-Za-z'\&\-\.\/()=:;]/.exec(" Hi there:d :p") 

但它只能检测到第一个(:d)
问题出在哪里?
在此先感谢!

+0

用'/ g'结束表达式以匹配多个表达式。 – Stefan 2013-05-13 09:28:30

回答

3

我建议你使用.match()并与全球g标志的正则表达式:

"Hi there:d :p".match(/[\:][0-9A-Za-z'\&\-\.\/()=:;]/g); 
+0

谢谢。这真的是我想要的。 – 2013-05-13 09:31:39

2

使用全球g标志

[\:][0-9A-Za-z'\&\-\.\/()=:;]/g 

没有这个修改,正则表达式将停在第一次出现(如果有)

+1

它不会真的有帮助,因为'exec'应该被迭代使用。 – VisioN 2013-05-13 09:29:09

+1

没错,没注意到exec,只看到了模式:D – fcalderan 2013-05-13 09:34:11

相关问题