您的位置 首页 java

Java 中 Emoji 的正则表达式

一、emoji 的范围

查阅维基百科中 emoji 的说明

1. 杂项符号及图形

杂项符号及图形一共有768个字符,范围为: U+1F300 ~ U+1F5FF,在 Java 中正则表达式为:

 "[\\uD83C\\uDF00-\\uD83D\\uDDFF]"复制代码  

2. 增补符号及图形

增补符号及图形中一共有82个字符,范围为: U+1F900 ~ U+1F9FF,在 Java 中正则表达式为:

 "[\\uD83E\\uDD00-\\uD83E\\uDDFF]"复制代码  

3. 表情符号

表情符号一共有80个字符,范围为: U+1F600 ~ U+1F64F,在 Java 中正则表达式为:

 "[\\uD83D\\uDE00-\\uD83D\\uDE4F]"复制代码  

4. 交通及地图符号

交通及地图符号一共有103个字符,范围为: U+1F680 ~ U+1F6FF,在 Java 中正则表达式为:

 "[\\uD83D\\uDE80-\\uD83D\\uDEFF]"复制代码  

5. 杂项符号

杂项符号一共有256个字符,范围为: U+2600 ~ U+26FF 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u2600-\\u26FF]\\FE0F?"复制代码  

6. 装饰符号

装饰符号一共有192个字符,范围为: U+2700 ~ U+27BF 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u2700-\\u27BF]\\FE0F?"复制代码  

7. 封闭式字母数字符号

封闭式字母数字符号中只有一个 emoji 字符,为: U+24C2 或拼上 U+FE0F,在 Java 中正则表达式为:

 "\\u24C2\\uFE0F?"复制代码  

8. 封闭式字母数字补充符号

封闭式字母数字补充符号包含41个 emoji 字符,其中26个属于区域指示符号

8.1 区域指示符号

区域指示符号一共有26个字符,范围为: U+1F1E6 ~ U+1F1FF,并且其中每两个字母可以代表一个国家或地区的旗帜,在 Java 中正则表达式为:

 "[\\uD83C\\uDDE6-\\uD83C\\uDDFF]{1,2}"复制代码  
8.2 其他封闭式字母数字补充 emoji 符号

除了区域指示符号外其他的 emoji 字符为: U+1F170、 U+1F171、 U+1F17E、 U+1F17F、 U+1F18E 和 U+1F191 ~ U+1F19A 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\uD83C\\uDD70\\uD83C\\uDD71\\uD83C\\uDD7E\\uD83C\\uDD7F\\uD83C\\uDD8E\\uD83C\\uDD91-\\uD83C\\uDD9A]\\uFE0F?"复制代码  

9. 键帽符号(#⃣, *️⃣ and 0⃣-9⃣)

键帽符号一共有12个字符,其组成方式为: U+0023、 U+002A 和 U+0030 ~ U+0039 12个键帽基础字符加上 U+FE0F 和 U+20E3, 如:

 "\u0023\u20E3" > "#⃣"

"\u002A\uFE0F\u20E3" > "*️⃣"

"\u0030\u20E3" > "0⃣"

"\u0039\u20E3" > "9⃣"复制代码  

其中 uFE0F 是可选的,所以在 Java 中正则表达式为:

 "[\\u0023\\u002A[\\u0030-\\u0039]]\\uFE0F?\\u20E3"复制代码  

10. 箭头符号

箭头符号中有8个 emoji 字符,范围为: U+2194 ~ U+2199 和 U+21A9 ~ U+21AA 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u2194-\\u2199\\u21A9-\\u21AA]\\uFE0F?"复制代码  

11. 杂项符号及箭头

杂项符号及箭头中有7个 emoji 字符,分别为: U+2B05 ~ U+2B07、 U+2B1B、 U+2B1C、 U+2B50 和 U+2B55 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55]\\uFE0F?"复制代码  

12. 补充箭头符号

补充箭头符号中有2个 emoji 字符,分别为: U+2934 和 U+2935 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u2934\\u2935]\\uFE0F?"复制代码  

13. CJK 符号和标点

CJK (Chinese, Japanese and Korean) 符号和标点中有两个 emoji 字符,分别为: U+3030 和 U+303D 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u3030\\u303D]\\uFE0F?"复制代码  

14. 封闭式 CJK 字母和月份符号

封闭式 CJK 字母和月份符号中有两个 emoji 字符,分别为:U+3297 和 U+3299 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u3297\\u3299]\\uFE0F?"复制代码  

15. 封闭式表意文字补充符号

封闭式表意文字补充符号中有15个 emoji 字符, 分别为: U+1F201、 U+1F202、 U+1F21A、 U+1F22F、 U+1F232 ~ U+1F23A、 U+1F250、 U+1F251 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\uD83C\\uDE01\\uD83C\\uDE02\\uD83C\\uDE1A\\uD83C\\uDE2F\\uD83C\\uDE32-\\uD83C\\uDE3A\\uD83C\\uDE50\\uD83C\\uDE51]\\uFE0F?"复制代码  

16. 一般标点

一般标点符号中有2个 emoji 字符,分别为: U+203C 和 U+2049 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u203C\\u2049]\\uFE0F?"复制代码  

17. 几何图形

几何图形中有8个 emoji 字符,分别为: U+25AA、 U+25AB、 U+25B6、 U+25C0 和 U+25FB ~ U+25FE 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE]\\uFE0F?"复制代码  

18. 拉丁文补充符号

拉丁文补充符号中有2个 emoji 字符,分别为: U+00A9 和 U+00AE 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u00A9\\u00AE]\\uFE0F?"复制代码  

19. 字母符号

字母符号中有2个 emoji 字符,分别为: U+2122 和 U+2139 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u2122\\u2139]\\uFE0F?"复制代码  

20. 麻将牌

麻将牌中只有一个 emoji 字符,为: U+1F004 或拼上 U+FE0F,在 Java 中正则表达式为:

 "\\uD83C\\uDC04\\uFE0F?"复制代码  

21. 扑克牌

扑克牌中只有一个 emoji 字符,为: U+1F0CF 或拼上 U+FE0F,在 Java 中正则表达式为:

 "\\uD83C\\uDCCF\\uFE0F?"复制代码  

22. 杂项技术符号

杂项技术符号中有18个 emoji 字符,分别为: U+231A、 U+231B、 U+2328、 U+23CF、 U+23E9 ~ U+23F3 和 U+23F8 ~ U+23FA 或拼上 U+FE0F,在 Java 中正则表达式为:

 "[\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA]\\uFE0F?"复制代码  

二、包含所有 emoji 的正则表达式

 "(?:[\uD83C\uDF00-\uD83D\uDDFF]|[\uD83E\uDD00-\uD83E\uDDFF]|[\uD83D\uDE00-\uD83D\uDE4F]|[\uD83D\uDE  

需要代码的可以 私信 我,喜欢的话可以 点赞加关注一波 ,你们的鼓励是小编前进的动力。

文章来源:智云一二三科技

文章标题:Java 中 Emoji 的正则表达式

文章地址:https://www.zhihuclub.com/185639.shtml

关于作者: 智云科技

热门文章

网站地图