量词 用法说明
* 重复0次或更多次,表示0次或多次 {0,}
+ 重复1次或更多次,表示1次或多次 {1,}
? 重复0次或1次,表示匹配0次或1次 {0,1}
{n} 重复n次,表示匹配n次
{n,} 重复n次或更多次,表示匹配至少n次
{n,m} 重复n到m次,表示至少匹配n次,至多m次
例:
匹配整数 \d+
匹配小数 \d+\.\d+
匹配整数或小数 : \d+\.?\d* #存在问题,比如1.也会被匹配到 ---> 分组的作用 : \d+(\.\d+)?
例:匹配手机号码,手机号以1开头,第二位为3-9,总共11位
1[3-9]\d{9}
#判断用户输入的内容是否合法,如果用户输入的对就能查到结果,如果输入的不对就不能查到结果
^1[3-9]\d{9}$
# 从一个大文件中找到所有符合规则的内容
1[3-9]\d{9}
转义符:
原本有特殊意义的字符,到了表达它本身的意义的时候,需要转义。
. 有特殊的意义,取消特殊的意义\.
有一些有特殊意义的内容,放在字符组中,会取消它的特殊意义
#只表示符号本身
[().*+?] 所有的内容在字符组中会取消它的特殊意义
#表示:a-c (a减c)
[a\-c] -在字符组中表示范围,如果不希望它表示范围,需要转义,或者放在字符组的最前面\最后面 。
取消一个元字符的特殊意义有两种方法:
1. 在这个元字符前面加\
2. 对一部分字符生效,把这个元字符放在字符组里
# [.()+?*]
贪婪匹配: