js正则表达式匹配汉字
假期老师布置了一个大作业,需要用正则表达式匹配一下 uniocde编码的汉字,但是网上千篇一律都是 /[\u4e00-\u9fa5]/ ,结果当然没有通过老师的作业检查(当然问题不仅仅只有这一点)。
直到搜到一个大牛的博客,才终于搞懂了怎么匹配汉字。
网上广为流传的/[\u4e00-\u9fa5]/ 其实只是cjk统一表意文字的基本部分,并且版本还只是1.1 的版本,即就是20年前的版本。 :) 气skr了
最新版的链接在这里。
简而言之,要解决这个问题,首先要搞懂 unicode 对汉字的定义, 注意区分汉字和汉文的区别(大牛博客里讲了)。
然后就可以查找对应的unicode使用范围了。
但是。。。
时光飞逝,怎么写出一个可以自动与时俱进的匹配汉字的正则表达式呢?答案就是 Unicode属性类。
顾名思义,就是将满足一定属性条件的unicode编码放在一起,这样书写正则表达式的时候就不用一个个的去取对应的范围了,比如我要找汉字
使用unicode属性类就可以直接写成
/\p{Unified_Ideograph}/u
但是貌似现在并不是所有浏览器都支持这种正则表达式的写法,如果不支持就需要使用转换器进行优雅降级。
js正则表达式匹配汉字相关推荐
- JavaScript 正则表达式匹配汉字
一个可能有 20 年历史的正则表达式 在谷歌搜索「JavaScript 正则表达式匹配汉字」的时候,前几条结果全都是/[\u4e00-\u9fa5]/.没有人怀疑这个正则表达式有什么问题,那么在 20 ...
- js正则表达式匹配span标签
1.js正则表达式匹配span标签 const spans = htmlStr.match(/<span (.*?)>(.*?)<\/span>/g) 2.js正则表达式–获取 ...
- JS正则表达式匹配手机号
JS中常用正则表达式举例一 JS正则表达式匹配手机号 大家好,有关正则表达式的基本知识在其它文章中已做了介绍: JS属性&方法详解 下面一起来看看JS中利用正则表达式匹配字符串的常用例子: 手 ...
- python正则匹配固定汉字_Python用正则表达式匹配汉字
原博文 2019-11-07 19:54 − #### Python用正则表达式匹配汉字 ##### 匹配多个汉字,不包括空格 ```python import re res = re.match(r ...
- python - 正则表达式匹配汉字
python - 正则表达式匹配汉字 Unicode 编码中汉字编码的范围在 \u4e00 到 \u9fa5之间 所以 匹配任意汉字: [\u4e00-\u9fa5] 匹配某个汉字可以把汉字转换成Un ...
- 使用正则表达式匹配汉字字符串
使用正则表达式匹配汉字字符串: 1.一个汉字:[\u4E00-\u9FA5] 2.多个汉字,包括空格:[\u4E00-\u9FA5\\s]+ 3.多个汉字,不包括空格:[\u4E00-\u9FA5]+ ...
- js正则表达式匹配字符串与优化过程
前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...
- Js读取Cookie中指定字段的值,Js中读取某个Cookie,Js中根据Cookie的key得到对应的value,Js正则表达式匹配指定的Cookie
Js中想要读取Cookie中指定字段的值,可以遍历Cookie根据指定Key提取Cookie,或者使用正则表达式匹配Cookie,代码如下: /*** @description: 遍历cookie得到 ...
- js正则 匹配 汉字、数字、英文字母、下划线 正则表达式
1.由数字.26个英文字母或者下划线组成的字符串: ^[0-9a-zA-Z_]{1,}$ 2.非负整数(正整数 + 0 ): ^/d+$ 3.正整数: ^[0-9]*[1-9][0-9]*$ 4.非正 ...
最新文章
- 《Linux From Scratch》第二部分:准备构建 第五章:构建临时文件系统- 5.11. Tcl-8.6.3...
- linux mysql 1366_Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法
- 使用 FOREACH 迭代具有依赖类型的序列
- 垃圾回收机制之复制算法
- mobi格式电子书_没有kindle,如何用手机阅读mobi格式的电子书?
- 第一百二十期:终于有篇看的懂的B树文章了!
- linux安装pl sql,Linux上安装配置InstantClient及64位系统Pl/SQL配置
- centos之mysql安装配置使用
- audiojs--跨浏览器的HTML音频播放器(可自定义样式)
- dmg镜像如何写入u盘_最全macOS官方全家桶原版系统镜像
- GBase数据库安装前一般检查
- 基于Python的坦克大战小游戏
- 从零开始用阿里云服务器搭建网页
- kktv电视剧鸿蒙,KKTV K70系列新品上市 京东、天猫、苏宁易购同步预售
- Python高级全栈开发实战 老男孩课程S16+路飞学城项目+女神串讲 Python全栈直通车课程
- C# ManualResetEventSlim类
- 定义结构体时的初始化默认值
- Refused to display in a frame because it set ‘X-Frame-Options‘ to ‘sameorigin‘.
- 巴塞罗那WASM IO大会
- Seafile开源文件同步和分享SAAS云盘