正则表达式快速初级入门学习
-
首先你需要有测试的地方,推荐一个网址 https://regex101.com/ 这个网址可以选择在那些语言下测试,我也没有全部用,有兴趣自己去研究一下。
-
限定符:
d? ? 表示d可有可无
ab*c * 表示b可以没有也可以出现多次
ab+c + 表示b必须出现一次以上
ab{6}c {6} 表示b必须出现6次
ab{2,6}c {2,6} 表示b必须出现2次 到 6次
ab{2,}c {2,} 表示b必须出现2次以上
这里就只上传一张图了,如果真的要学,就每一个都去试一下,你去用了,比你看要快的多。学这个基础要不了多久,我自己用1小时学完,希望你更短,不够学完了要多去看。不然后面又忘记了。
- 匹配多个字符
(ab)+ 必须出现ab一次以上
4. 或 运算
a (b|c) 表示匹配 a空格后面要么是b要么是c 括号不能少
a b|c 表示只能匹配a b 或者匹配 c
5. 字符类
[abcd]+ 表示字母只能是[]里面的字母
[a-zA-Z0-9]+ 表示必须是全部小写字母全部大写字母全部数字
[^a-z]+ 匹配除了全部小写的其他字符。 注意:空格,换行符排除
[^a-zA-Z]+ 匹配除了小写和大写的。 注意:空格,换行符排除
6. 元字符
\d+ 表示数字字符
\D+ 表示非数字字符
\w+ 表示单词字符(包括数字,字母,下划线)
\W+ 表示非单词字符
\s+ 表示空白符(包含tab 以及换行字符)
\S+ 表示非空白字符
\b 表示边界
.* 表示任意字符 (注意:不包含换行符)
^ 匹配行首 如:^a 只匹配一行的第一个a
$ 匹配行尾 如: a$ 只匹配一行的最后一个a
- 贪婪与懒惰匹配
<.+> 贪婪匹配任意<>里面的字符
如:<span><a>cat red not</a></span> 会被全部匹配
例子如图:
<.+?> 懒惰匹配只匹配<>包裹的
如:<span><a>cat red not</a></span> a标签里面的内容不会匹配
例子如图:
- 几个例子
手机号匹配
\b1[2-9][0-9]{9}\b
匹配如图:
rgb颜色匹配
"#[a-fA-f0-9]{6}\b"