世界热点评!用正则表达式匹配字符串中汉字及中文标点符号
目录
问题:比如:Ps:补充:总结问题:
在写项目时遇到需要匹配字符串中所有的汉字并且包括简单的中文标点符号
(资料图片)
比如:
匹配下面这个完成的字符串
let str = "上传文件,你好呀,我很好";
网上能够查到很多匹配汉字的正则
let reg = /[\u4e00-\u9fa5]+/g; console.log(str.match(reg)); // 结果如下 ["上传文件", "你好呀", "我很好"]
从结果可以看出上面写的正则没有匹配到标点符号,,所以将完整的字符串(str)分隔开了
又从网上查找匹配中文标点的正则
// 匹配中文标点的正则 \u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3010|\u3011|\u007e // 可以匹配以下中文标点符号(顺序是一一对应的) // `。 ? ! , 、 ; : “ ” ‘ " ( ) 《 》 【 】 ~`
Ps:
如果上面没有想要的标点符号,可以上网查找将中文符号转换成Unicode编码添加在表达式中即可
将刚才编写的正则表达式进行下简单的修改
let reg = /[(\u4e00-\u9fa5)(\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3010|\u3011|\u007e)]+/g console.log(str.match(reg)); // 打印结果 ["上传文件,你好呀,我很好"]
可以看到这次结果是我们想要的形式,整个字符串都匹配到了~
补充:
Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。
\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。
大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。
其他六个是
L:字母;M:标记符号(一般不会单独出现);Z:分隔符(比如空格、换行等);S:符号(比如数学符号、货币符号等);N:数字(比如阿拉伯数字、罗马数字等);C:其他字符总结
到此这篇关于用正则表达式匹配字符串中汉字及中文标点符号的文章就介绍到这了,更多相关正则匹配汉字及中文标点符号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 2充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 3好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 4名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 5亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 6京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 7网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久
- 8市场竞争加剧,有车企因经营不善出现破产、退网、退市
- 9北京市市场监管局为企业纾困减负保护经济韧性
- 10市场监管总局发布限制商品过度包装标准和第1号修改单