如何将表情符号与正则表达式匹配?

Wes*_*sey 11 regex

我需要抓住笑脸

:)
:P
:-P
=)
:D
;)
Run Code Online (Sandbox Code Playgroud)

等等,以及一般文字.这是我现在的正则表达式:

\b[0-9A-Za-z'\&\-\./()=:;]+\b
Run Code Online (Sandbox Code Playgroud)

但是,它不匹配()=:; 由于某些原因.我错过了什么吗?

编辑:基于Mark的反馈,这里是我需要解析的一个例子:

hi =as.) friend :) haha yay! ;) =) test test) R&R I.O.U. 24/7
Run Code Online (Sandbox Code Playgroud)

这应该提取:

hi
friend
:)
haha
yay
;)
=)
test
test
R&R
I.O.U.
24/7
Run Code Online (Sandbox Code Playgroud)

我使用任何提出的解决方案都无法解决这个问题.

Mar*_*ins 5

这是一个捕获单词后跟上述示例的示例.它在单独的捕获组中捕获单个单词和后续表情符号.该Rubular链接.

\s(\w+)\s((?::|;|=)(?:-)?(?:\)|D|P))
Run Code Online (Sandbox Code Playgroud)

编辑根据编辑和给定的示例,这可能是所期望的.它定义了两个捕获组,一个用于一般文本,另一个用于表情符号. 这是Rubular链接.

([0-9A-Za-z'\&\-\.\/\(\)=:;]+)|((?::|;|=)(?:-)?(?:\)|D|P))
Run Code Online (Sandbox Code Playgroud)