杜老师经常需要使用正则表达式修改大量文件,为了方便大家,也是为了方便自己,杜老师整理了一份常用正则表达式并分享出来,方便大家查阅!
匹配中文字符的正则表达式
1 | [\u4e00-\u9fa5] |
注意:匹配中文还真是个头疼的事,有这个表达式就好办了。
匹配双字节的字符
1 | [^\x00-\xff] |
注意:可以用来计算字符串的长度。
匹配空白行正则表达式
1 | \n\s*\r |
注意:可用来删除空白行。
匹配 HTML 标记正则表达式
1 | <(\S*?)[^>]*>.*?</\1>|<.*? /> |
注意:上面这个仅能匹配部分,对于复杂嵌套标记无能为力。
匹配首尾空白字符的正则表达式
1 | ^\s*|\s*$ |
注意:可用来删除行首行尾的空白字符。
匹配 Email 地址正则表达式
1 | \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* |
注意:表单验证时很实用。
匹配网址 URL 正则表达式
1 | [a-zA-z]+://[^\s]* |
注意:上面这个基本可以满足需求。
匹配帐号是否合法
1 | ^[a-zA-Z][a-zA-Z0-9_]{4,15}$ |
注意:表单验证时很实用。
匹配国内电话号码
1 | \d{3}-\d{8}|\d{4}-\d{7} |
注意:匹配形式如 123-45678910 或 1234-5678910。
匹配 QQ 号
1 | [1-9][0-9]{4,} |
注意:腾讯 QQ 号从 10000 开始。
匹配邮政编码
1 | [1-9]\d{5}(?!\d) |
注意:邮政编码 6 位数字。
匹配证件
1 | [1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9xX] |
注意:证件为 15 位或 18 位,感谢贝贝提醒,已做更正。
匹配地址
1 | \d+\.\d+\.\d+\.\d+ |
注意:提取 IP 地址时有用。
条评论