常用正则表达式
用好正则表达式可以快速提高程序开发和程序本身的效率,网上关于正则表达式的教程也有很多,但是真正要精通正则表达式还是比较难,不过我们真正用到的正则表达式其实不会太多,如果掌握几个常用的正则表达式之后,经过简单的演绎,其实就能够基本写出自己的所需要的正则表达式了,下面就介绍一些常用的正则表达式:
功能 | 正则表达式 |
---|---|
匹配中文字符 | [\u4e00-\u9fa5] |
匹配双字节字符 (包括汉字在内) |
[^x00-xff] |
匹配空白行 | [\n\s*\r] |
匹配 HTML 标签 | <(S*?)[^>]*>.*?|<.*? /> |
匹配首尾空白字符 | ^s*|s*$ |
匹配 Email 地址 | [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])? |
匹配网址 URL | [a-zA-z]+://[^s]* |
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线) | ^[a-zA-Z][a-zA-Z0-9_]{4,15}$ |
匹配 IP 地址 | ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) |
匹配国内电话号码 | \d{3}-\d{8}|\d{4}-\{7,8} |
匹配国内手机号码 | 1\d{10} |
匹配国内邮政编码 | [1-9]\d{5}(?!\d) |
匹配国内身份证 | ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$ |
匹配 QQ 号码 | [1-9][0-9]{4,} |
匹配日期格式 (年-月-日) |
([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))) |
匹配时间(小时:分钟,24小时制) | ((1|0?)[0-9]|2[0-3]):([0-5][0-9]) |
匹配正整数 | ^[1-9]\d*$ |
匹配负整数 | ^-[1-9]\d*$ |
匹配整数 | ^-?[1-9]\d*$ |
匹配非负整数 (正整数 + 0) |
^[1-9]\d*|0$ |
匹配非正整数 (负整数 + 0) |
^-[1-9]\d*|0$ |
匹配正浮点数 | ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ |
匹配负浮点数 | ^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$ |