正则效率,\w误区
来源:互联网 发布:常用的数据库 编辑:程序博客网 时间:2024/04/27 16:48
本文首写于公司小组内部分享。
先前听导师说过正则效率不算高,就特意去看了一点相关的,做个笔记
http://note.youdao.com/share/?id=cb801321e015542b87575b8c6d39748b&type=note
http://note.youdao.com/share/?id=18d43e79ded05c812488544eff18412b&type=note
看的时候想到了先前写过正则匹配英文邮箱,突然想到可以有中文的邮箱,遂去写了一下,遇到个坑。
\w 匹配【字母、数字、下划线、汉字】,这几乎是大众认识,但这并不准确。看下图,俄文字符都匹配出来了,查了好些资料,发现\w,他匹配的是包括下划线的任何单词字符。类似但不等价于“[ A-Za-z0-9_ ]”,这里的"单词"字符使用Unicode字符集,包括俄文等单词如а。
如果想要匹配中文,英文字母,数字,下划线(_),该怎么办呢?
正确做法:[\u4e00-\u9fa5_a-zA-Z0-9]
附上自己写的英文、中文邮箱匹配实录:
http://note.youdao.com/share/?id=6b2b0063b7b9963959fca3750b931baa&type=note
或访问 CSDN 《正则表达式匹配邮箱》。
有任何问题欢迎批评指正。
1 0
- 正则效率,\w误区
- 正则表达式 [\w]+ \w+ [\w+]区别
- 正则表达式 \w
- 正则表达式 ((/w*|(/w/s*/w*)*)(/w*/S))$ ((/w*|(/w/s*(.)*/w*)*)(/w*/S))$ .net 前后去掉(没有)空格
- 正则表达式 ((/w*|(/w/s*/w*)*)(/w*/S))$ ((/w*|(/w/s*(.)*/w*)*)(/w*/S))$ .net 前后去掉(没有)空格
- 正则表达式 截取html中的 : [/w/W]+?
- 正则表达式利器之\\W
- 正则中的\w字符类
- 正则表达式[\w]+,\w+,[\w+] 三者区别? [],[ABC]+,[\w./-]+ 表达什么?
- java正则表达式效率
- 正则表达式的效率
- 正则表达式之([\w|-]*)和([\w|-])*的区别
- 正则表达式中/w不能识别中文
- 正则表达式:pattern="[^\\w]"---------总结------------
- 正则表达式 \w \s \d \b
- 正则表达式 \\w \\s \\d \\b
- 正则表达式/^\w+$/i的理解
- 正则表达式\w和\d的疑惑
- 【学习】Javascript设计模式——Constructor构造器模式
- Java中 /** */注释和 /* */注释 的区别
- qt用mingw编译时报错 multiple definition of
- Android仿QQ长按删除弹出框
- struts2拦截器
- 正则效率,\w误区
- android4.4系统上不能选择图片问题
- 总结
- 自动化测试_学习笔记
- PHP 变量与常量
- 标题栏的滚动
- 2015-12-09 sql复习
- webgl 第四天学习
- ViewPager 可回收的adapter