# 正则表达式收集
有时候需要用到正则表达式,简单的就直接写了(有时候也会忘),再复杂点就得花点时间测试,如果能把这些正则表达式收集在一个地方,随时可以查找,就会方便很多。欢迎更多朋友提供分享……
**常用正则1:**
| 名称 | 正则 | 备注(示例或说明) |
| --- | --- | --- |
| 匹配x前面的位置 | (?=x) | |
| 匹配x后面的位置,不包括x | (?<=x) | |
| 匹配第一个: | ([^:]\*):(.\*) | |
| 匹配q: "后面所有内容中到第一个"中间的内容 | (?<=q: ")(.[^"]+) |
- 0: {type: "sug", sa: "s_1", q: "科一"}
- 1: {type: "sug", sa: "s_2", q: "可以"}
|
| 匹配以|分隔的内容 | (.\*)\|(.\*)\|(.\*) | |
| 从右到左可匹配最后一个@到最后的内容 | @([^@]+) | abcdcadd@123dd@lkjkj |
| 字符串aababbacbadbaeb中匹配a.b,要获取最后一个aeb | a.b(?!.\*a.b) | aababbacbadbaeb |
**常用正则2:**
| 名称 | 正则 | 备注(示例或说明) |
| --- | --- | --- |
| 数字 | ^[0-9]\*$ | |
| 汉字 | ^[\u4e00-\u9fa5]{0,`}`$ | |
| 英文和数字 | ^[A-Za-z0-9]+$ | |
| 由26个英文字母组成的字符串 | ^[A-Za-z]+$ | |
| email地址 | ^\w+([-+.]\w+)\w+([-.]\w+)\*\.\w+([-.]\w+)\*$ | |
| 域名 | [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.? | |
| InternetURl网址 | [a-zA-z]+://[^\s]\* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]\*)?$ | |
| 手机号码 | ^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ | |
| 电话号码 | ^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ | |
| 身份证号 | ^\d{15}|\d{18}$ | |
| 帐号是否合法 | ^[a-zA-Z][a-zA-Z0-9\_]{4,15}$ | (字母开头,允许5-16字节,允许字母数字下划线) |
| 密码 | ^[a-zA-Z]\w{5,17}$ | (以字母开头,长度在6~18之间,只能包含字母、数字和下划线) |
| 强密码 | ^(?=.\*\d)(?=.\*[a-z])(?=.\*[A-Z]).{8,10}$ | (必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间) |
| 日期格式 | ^(?=.\*\d)(?=.\*[a-z])(?=.\*[A-Z]).{8,10}$\d{4}-\d{1,2}-\d{1,2} | |
| XML文件 | ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$ | |
| qq号 | [1-9][0-9]{4,`}` | |
| 中国邮政编码 | [1-9]\d{5}(?!\d) | |
| IP地址 | \d+\.\d+\.\d+\.\d+ | |