正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。
简单来说,正则表达式就是一串特定的字符串,可以用作对比的一套规则
- 匹配有abc开头的字符串:
1 \babc或者^abc
2. 匹配8位数字的QQ号码:
1 ^\d\d\d\d\d\d\d\d$
3. 匹配1开头11位数字的手机号码:
1 ^1\d\d\d\d\d\d\d\d\d\d$
有了元字符就可以写不少的正则表达式了,但细心的你们可能会发现:别人写的正则简洁明了,而不理君写的正则一堆乱七八糟而且重复的元字符组成的。正则没提供办法处理这些重复的元字符吗?
答案是有的!
为了处理这些重复问题,正则表达式中一些重复限定符,把重复部分用合适的限定符替代,下面我们来看一些限定符:
1. 匹配8位数字的QQ号码:
1 ^\d{8}$
2. 匹配1开头11位数字的手机号码:
1 ^1\d{10}$
3. 匹配银行卡号是14~18位的数字:
1 ^\d{14,18}$
4. 匹配以a开头的,0个或多个b结尾的字符串
1 ^ab*$