正则中的元字符说明:
==================================================
[] 表示单个字符的原子表
如: [aoeiu] 表示任意一个元音字母
[0-9] 表示任意一位数字等价于 \d
[0-9][0-9] 00~99
[a-z][0-9]表示小写字和一位数字构成的两位字符
[a-zA-Z0-9_] 表示任意一位大小字母或数字 \w
[^] 表示除中括号内原子之外的任何字符 是[]的取反
如:[^0-9] 表示任意一位非数字字符 等价于 \D
[^a-z] 表示任意一位非小写字母
[0-9]{4}
{m} 表示对前面原子的数量控制,表示是m次
如:[0-9]{4} 表示4位数字0000-9999 等价于\d{4}
[1][3-8][0-9]{9} 手机号码
[\-]?[0-9]+
{m,} 表示对前面原子的数量控制,表示是至少m次
如: [0-9]{2,} 表示两位及以上的数字 等价于\d{2,}
{m,n}表示对前面原子的数量控制,表示是m到n次
如: [a-z]{6,8} 表示6到8位的小写字母
* 表示对前面原子的数量控制,表示是任意次,等价于{0,}
+ 表示对前面原子的数量控制,表示至少1次,等价于{1,}
? 表示对前面原子的数量控制,表示0次或1次(可有可无) 等价于{0,1}
正整数:[1-9][0-9]*
整数: [\-]?[0-9]+
email:
() 表示一个整体原子,【还有一个子存储单元的作用】。
也可以使用?:来拒绝子存储。 (?:.*?)
例如:(red) 字串red
(red|blue) 字串red或blue
(abc){2} 表示两个abc
| 表示或的意思
(red|blue) 字串red或blue
^ 用在正则单元块的开头处,表示必须以指定的开头
$ 用在正则单元块的结尾处,表示必须以指定的结尾
. 表示任意一个除换行符之外的字符
常用组合: .*? 或 .+?
表示最小匹配所有字符(拒绝贪婪匹配)