目录
一、限定符
1、匹配单个字符
(1)? (?前的字符需要出现0次或者1次)
(2)* (匹配 *前0个或多个字符)
不能匹配后两个的原因是限定a和c中只能出现0个或多个b
(3)+ (匹配出现一次以上的字符)
(4){...} (用于实现更精确的匹配,可以指定匹配多少个) 在括号内写入数字用于表示范围
要求b出现六次
要求b出现2~6次
要求b出现两次以上
2、同时匹配多个字符
上述示例中均只能匹配单个字符,若要同时匹配多个字符,可以把要同时匹配的字符放于( )中
二、“或”运算符
上述示例先匹配a和空格,再去匹配空格后的字符,可以是cat或者是dog 需要注意的是,这里的括号必不可少,加入少了括号则会出现以下情况:
三、字符类
(1) [...]+ (方括号里的内容表示所匹配的字符只能取自它们)
同时也可以在方括号内写出所要匹配字符的范围,例如: [a-z]+ 表示所有的小写英文字符
[a-z A-Z]+ 表示所有的英文字符
[a-z A-Z 0-9]+ 表示所有的英文字符和数字
^(……) 表示列出(……)以外的全部字符 下例则表示列出非数字字符,包括换行符
四、元字符
正则表达式的大多元字符多以\开头
\b 代表单词字符的边界
“.”表示任意字符,但是不包括换行符
^ 匹配行首 $ 匹配行尾
五、贪婪与惰性匹配
贪婪匹配 .+ 会匹配尽可能多的字符
懒惰匹配 .+?
六、实例
1、RGB颜色值匹配
2、IPV4地址的匹配
总结: