我需要捕捉像这样的笑脸
:)
:P
:-P
=)
:D
;)
等等,还有一些一般文本。这是我的当前正则表达式:
\b[0-9A-Za-z'\&\-\./()=:;]+\b
然而,由于某种原因,它无法匹配()=:;。我有什么遗漏吗?
编辑:根据Mark的反馈,这是我需要解析的一个示例:
hi =as.) friend :) haha yay! ;) =) test test) R&R I.O.U. 24/7
这应该提取出:hi
friend
:)
haha
yay
;)
=)
test
test
R&R
I.O.U.
24/7
我尝试使用提出的任何解决方案都无法使其正常工作。
$#*(&$#
。 - Roman\b
单词边界上开始和/或结束。 一个好的方法是使用环视断言,在表情符号前后要求空格(或字符串结尾)。即(?<=^|\s)(?:list|of|smilies)(?=$|\s)
。 - ridgerunner