正则效率,\w误区

本文首写于公司小组内部分享。

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

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

如果想要匹配 中文,英文字母,数字,下划线(_),该怎么办呢?
正确做法: [\u4e00-\u9fa5 _ a-zA-Z0-9]
附上自己写的英文、中文邮箱匹配实录:
或访问 优快云 《正则表达式匹配邮箱》。
有任何问题欢迎批评指正。
欢迎个人转载,但须在文章页面明显位置给出原文连接;
未经作者同意必须保留此段声明、不得随意修改原文、不得用于商业用途,否则保留追究法律责任的权利。

【 优快云 】:csdn.zxiaofan.com
【GitHub】:github.zxiaofan.com

如有任何问题,欢迎留言。祝君好运!
Life is all about choices! 
将来的你一定会感激现在拼命的自己!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值