我想做的基本上就是匹配只包含表情符号且没有其他字符的字符串。它可以有一个或多个表情符号,只要没有其他字符即可。
我知道以前已经有类似的问题了,但是它们没有支持所有表情符号。
我正在使用以下方法检测表情符号,但不确定如何从中排除其他字符。
const regex = /\p{Extended_Pictographic}/ug
return regex.test(mystr);
以下是我的测试用例和预期结果:
d❤️f -> false
t -> false
3 -> false
-> true
❤️ -> true
-> true
♂️ -> true
-> true
-> true
您可以在此处测试结果:https://regex101.com/r/krwZ7W/1。
/^\p{Extended_Pictographic}+$/
应该只匹配那些字符。但是看起来你的一些字符不在这个组中:https://regex101.com/r/Ya2C2C/1 - Nick^
和$
,您会发现并不是所有的表情符号都匹配到该组。 - Nick\p{Emoji}
的组,甚至无法覆盖所有表情符号。 - Christopher