正则效率,\w误区

简介: <div style="margin:10px; font-family:verdana; font-size:10pt">本文首写于公司小组内部分享。</div> <div style="margin:10px; font-family:verdana; font-size:10pt"><br></div> <div style="margin:10px; font-family:v
本文首写于公司小组内部分享。

先前听导师说过正则效率不算高,就特意去看了一点相关的,做个笔记

看的时候想到了先前写过正则匹配英文邮箱,突然想到可以有中文的邮箱,遂去写了一下,遇到个坑。
\w  匹配【字母、数字、下划线、汉字】,这几乎是大众认识,但这并不准确。看下图,俄文字符都匹配出来了,查了好些资料,发现 \w 他匹配的是包括下划线的任何单词字符。类似但不等价于“[ A-Za-z0-9_ ]”,这里的"单词"字符使用Unicode字符集,包括俄文等单词如а

如果想要匹配 中文,英文字母,数字,下划线(_),该怎么办呢?
正确做法: [\u4e00-\u9fa5 _ a-zA-Z0-9]
附上自己写的英文、中文邮箱匹配实录:
或访问 CSDN 《正则表达式匹配邮箱》。
有任何问题欢迎批评指正。

目录
相关文章
|
2月前
|
存储 数据库 索引
如何提高索引的效率和实用性
【10月更文挑战第15天】如何提高索引的效率和实用性
|
2月前
|
测试技术 Perl
一个提高效率的工具,正则表达式,值得学习一下!
一个提高效率的工具,正则表达式,值得学习一下!
|
5月前
|
设计模式 存储
代码优化设计问题之优化枚举的getByName方法以提高效率问题如何解决
代码优化设计问题之优化枚举的getByName方法以提高效率问题如何解决
|
7月前
|
算法 Unix Linux
|
7月前
|
算法 测试技术 C#
【性能优化】 【回溯】 【字符串】1307. 口算难题
【性能优化】 【回溯】 【字符串】1307. 口算难题
|
缓存 固态存储 程序员
性能第二讲:性能优化-每个程序员都应该知道的数字
性能第二讲:性能优化-每个程序员都应该知道的数字
|
Python
正则表达式re.sub替换不完整的问题现象及其根本原因
正则表达式re.sub替换不完整的问题现象及其根本原因
108 0
|
数据采集 Python
正则表达式很难吗?其实也就那样!
正则表达式很难吗?其实也就那样!
283 0
正则表达式很难吗?其实也就那样!
|
算法
如何优化正则表达式性能?
一.背景 正则表达式是计算机科学的一个概念,很多语言都实现了它。正则表达式使用一些特定的元字符来检索、匹配以及替换符合规定的字符串。 构造正则表达式语法的元字符,由普通字符、标准字符、限定字符(量词)、定位符(边界字符)组成,详情如下 二.正则表达式引擎 正则表达式是一个用正则符号写出的公式,程序对这个公式进行语法分析,建立一个语法分析树,再根据这个分析树结合正则表达式的引擎生成执行程序(这个执行程序我们把它称作状态机,也叫状态自动机),用于字符匹配。 而这里的正则表达式引擎就是一套核心算法,用于建立状态机。
636 0
如何优化正则表达式性能?
|
测试技术 Perl
一个提高效率的工具,正则表达式,值得学习一下!
前言之前分享过几篇工具系列的文章,受到不少读者喜欢分享一些工作中常用的工具软件,值得收藏分享一些常用的网站和工具,值得收藏!今天再分享一个关于提高工作效率的工具:正则表达式在工作中一般使用正则表达式来匹配,替换,检索文本,可以大大提高了工作效率文章首发在公众号(月伴飞鱼),之后同步到个人网站:xiaoflyfish.cn/觉得有收获,希望帮忙点赞,转发下哈,谢谢,谢谢简介正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。学会使用正则在线正则测试工具:rege