正则表达式 时间:30mins
使用的时候必须使用反斜杠,笔记中为了方便用斜杠代替
查找符合复杂规则的字符串,正则表达式用于描述这些规则
元字符
位置
/b 代表单词的分界,单词的开始或者结束
^ 匹配查找字符串的开头
$ 匹配查找字符串的结尾
重复
. 匹配除了换行符之外的任意字符
* 任意数量,可能0次
+ 至少一次
? 重复零次或者一次
{n} 重复n次
[n,} 重复n次或者更多次
{n,m}
/bhi/b.*/bxiaomeng/b
元字符
/d 数字
0/d{2}-/d{8} 重复匹配
/s 任意的空白符
/w 字母,数字,下划线,汉字
字符转义
/. // /*
字符类
[aeiou],[0-9],[a-z0-9A-Z]
分枝条件
0/d{2}-/d{8}|0/d{3}-/d{7}
需要注意各分枝的顺序,\d{5}-\d{4}|\d{5}与\d{5}|\d{5}-\d{4}不一样
分组
() (/d{1,3}/.){3}/d{1,3} ip地址的匹配
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) //考虑无效ip地址之后
反义
/W
/S
/D
/B 不是单词开头或结束
[^x] 除了x以外
[^aeiou]除了aeiou以外
使用的时候必须使用反斜杠,笔记中为了方便用斜杠代替
查找符合复杂规则的字符串,正则表达式用于描述这些规则
元字符
位置
/b 代表单词的分界,单词的开始或者结束
^ 匹配查找字符串的开头
$ 匹配查找字符串的结尾
重复
. 匹配除了换行符之外的任意字符
* 任意数量,可能0次
+ 至少一次
? 重复零次或者一次
{n} 重复n次
[n,} 重复n次或者更多次
{n,m}
/bhi/b.*/bxiaomeng/b
元字符
/d 数字
0/d{2}-/d{8} 重复匹配
/s 任意的空白符
/w 字母,数字,下划线,汉字
字符转义
/. // /*
字符类
[aeiou],[0-9],[a-z0-9A-Z]
分枝条件
0/d{2}-/d{8}|0/d{3}-/d{7}
需要注意各分枝的顺序,\d{5}-\d{4}|\d{5}与\d{5}|\d{5}-\d{4}不一样
分组
() (/d{1,3}/.){3}/d{1,3} ip地址的匹配
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) //考虑无效ip地址之后
反义
/W
/S
/D
/B 不是单词开头或结束
[^x] 除了x以外
[^aeiou]除了aeiou以外