本文首写于公司小组内部分享。
先前听导师说过正则效率不算高,就特意去看了一点相关的,做个笔记
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 《正则表达式匹配邮箱》。
有任何问题欢迎批评指正。
时间: 2024-12-30 18:26:54