正则匹配emoji字符
寻找emoji的编码范围
在这个网站中可以查看所有的emoji unicode
:Emoji Unicode table
用js代码找出这个页面所有emoji unicode
的范围:
let $list = document.querySelectorAll('.category')for(let key in $list){let text = $list[key].innerText? $list[key].innerText.replace(/(Back to top)|(\n?)/ig,'') :'';console.log(text)}
输出结果:
1. Emoticons ( 1F601 - 1F64F )
2. Dingbats ( 2702 - 27B0 )
3. Transport and map symbols ( 1F680 - 1F6C0 )
4. Enclosed characters ( 24C2 - 1F251 )
5. Uncategorized
6a. Additional emoticons ( 1F600 - 1F636 )
6b. Additional transport and map symbols ( 1F681 - 1F6C5 )
6c. Other additional symbols ( 1F30D - 1F567 )
ES6 新增的 Unicode 字符表示法:将码位放入大括号,就能正确解读该字符 例如 :
\u{1F601}
JS emoji符号匹配
得到了emoji unicode 就学要把unicode的范围拼接起来生成正则表达式:
let $list = document.querySelectorAll('.category')let arr = [],regText = '',result;for(let key in $list){let text = $list[key].innerText?$list[key].innerText.replace(/(Back to top)|(\n?)/ig,'') :'';result = text.match(/\(\s+([0-9a-fA-F]+)\s+-\s+([a-fA-F0-9]+)\s+\)/)if(result && result.length == 3){regText += `\\u{${result[1]}}-\\u{${result[2]}}`}arr.push(text)}reg = new RegExp('['+regText+']','gu')console.log(reg);///[\u{1F601}-\u{1F64F}\u{2702}-\u{27B0}\u{1F680}-\u{1F6C0}\u{24C2}-\u{1F251}\u{1F600}-\u{1F636}\u{1F681}-\u{1F6C5}\u{1F30D}-\u{1F567}]/gu
经过测试:\u{24C2}-\x{1F251}
这里要改为\u{1F170}-\u{1F251}
最后得到的JS正则是:
/[\u{1F601}-\u{1F64F}\u{2702}-\u{27B0}\u{1F680}-\u{1F6C0}\u{1F170}-\u{1F251}\u{1F600}-\u{1F636}\u{1F681}-\u{1F6C5}\u{1F30D}-\u{1F567}]/gu
可以使用在线正则表达式验证一下
js emoji 工具
php emoji符号匹配
let $list = document.querySelectorAll('.category')let arr = [],regText = '',result;for(let key in $list){let text = $list[key].innerText?$list[key].innerText.replace(/(Back to top)|(\n?)/ig,'') :'';result = text.match(/\(\s+([0-9a-fA-F]+)\s+-\s+([a-fA-F0-9]+)\s+\)/)if(result && result.length == 3){regText += `\\x{${result[1]}}-\\x{${result[2]}}|`}arr.push(text)}console.log('php 正则表达式')console.log('/['+regText+']/u' );///[\x{1F601}-\x{1F64F}\x{2702}-\x{27B0}\x{1F680}-\x{1F6C0}\x{24C2}-\x{1F251}\x{1F600}-\x{1F636}\x{1F681}-\x{1F6C5}\x{1F30D}-\x{1F567}]/u
经过测试:\x{1F170}-\x{1F251}
这里要改为
所以一般emoji匹配的正则是:
/[\x{1F601}-\x{1F64F}\x{2702}-\x{27B0}\x{1F680}-\x{1F6C0}\x{1F170}-\x{1F251}\x{1F600}-\x{1F636}\x{1F681}-\x{1F6C5}\x{1F30D}-\x{1F567}]/u
php 过滤emoji字符方法:
function removeEmoji($nickname) {$clean_text = "";$regexEmoticons = '/[\x{1F601}-\x{1F64F}\x{2702}-\x{27B0}\x{1F680}-\x{1F6C0}\x{24C2}-\x{1F251}\x{1F600}-\x{1F636}\x{1F681}-\x{1F6C5}\x{1F30D}-\x{1F567}]/u';$clean_text = preg_replace($regexEmoticons, '', $text);return $clean_text;
}
echo removeEmoji('你好
正则匹配emoji字符相关推荐
- re正则匹配中文字符
re正则匹配中文字符 re 匹配中文字符规则 re.compile(u"[\u4e00-\u9fa5]+") 下图是我爬取jd手表的一条数据 在该字典中的title键所对应的值va ...
- js正则匹配可见字符
正则匹配可见字符 数字大小写字母特殊符号 原理 ascii码33-126为可见字符,对应16进制为x21-x7e var str="agdggd#$%$^234"; patt=/[ ...
- pgsql 正则匹配中文字符
postgres sql 正则匹配中文字符 操作符 ~ 等效于 LIKE, 而 ~~* 对应 ILIKE. 还有 !~~ 和 !~~* 操作符 分别代表 NOT LIKE 和 NOT ILIKE. 另 ...
- python正则匹配任意字符_Python 正则表达式 匹配任意字符的写法
.(句点)匹配除了换行之外的所有一个字符, .*(点-星)匹配除了换行外的所有字符>>> >>> r=re.compile(r'.*') >>> ...
- 正则匹配任意字符(常用正则表达式的书写)
匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的 ...
- python正则匹配任意字符_Python 匹配任意字符(包括换行符)的正则表达式写法...
Python 匹配任意字符(包括换行符)的正则表达式写法 想使用正则表达式来获取一段文本中的任意字符,写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现 ...
- php正则获取标签,PHP通过正则匹配中文字符 过滤html标签 获取文本内容
正则匹配中文汉字根据页面编码不同而略有区别: GBK/GB2312编码:[x80-xff]+ 或 [xa1-xff]+ UTF-8编码:[x{4e00}-x{9fa5}]+/u [php] $str ...
- 正则匹配所有字符(包括换行)
正文 要匹配所有的字符,可使用类似于 [\s\S] 或 [\w\W] 这样的表达式,大写和小写匹配的字符时互补的 比如 \S 匹配可见字符,\s 匹配不可见字符 >>> re.sea ...
- js正则匹配任意字符、匹配标签记录
匹配任意字符包括换行符:[\s\S] 例:str=str.replace(/<div(([\s\S])?)>/g, '')//匹配<div 里边可以有任意字符> templat ...
- python正则匹配任意字符_Python 正则表达式 匹配任意字符
.(句点)匹配除了换行之外的所有一个字符, .*(点-星)匹配除了换行外的所有字符 >>> >>> r=re.compile(r'.*') >>> ...
最新文章
- 如何解决Linux操作系统找不到网卡的问题
- Web开发之Goahead
- Spring2.5的新特性
- springboot工程的热部署
- Gson实现自定义解析json格式
- 【C语言】shape of you
- 极客先锋 如何生成git的公钥和私钥
- 更新项目java_java – 什么是Maven – 更新项目?
- Android10 root,Android Q系统Magisk完美实现ROOT
- Linux三剑客--grep
- 各种门平面图画法_关于CAD各种门怎么画平面图就行 CAD铝合金门窗
- 算法 c语言实现 英文版 pdf,数据结构与算法分析++C语言描述++英文版++..pdf-得力文库...
- Could not get a resource from the pool 问题解决
- 432偏计算机编程,统计学考研432笔记
- 从谷歌创始人的公开信中所学到的
- 小猫爪:i.MX RT1050学习笔记15-FlexSPI-FLASH使用3-KEIL FLASH算法中的使用
- 小红书-笔记灵感-项目总结
- 英语学习(10个句子练到极致)
- “封转开”行情或再现 低仓位封基现套利机会
- 网络打印服务器 linux,在Linux环境下搭建网络打印服务器
热门文章