我需要抓住笑脸
:)
: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)
我使用任何提出的解决方案都无法解决这个问题.
这是一个捕获单词后跟上述示例的示例.它在单独的捕获组中捕获单个单词和后续表情符号.该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)