正则入门知识点

正则的功能

  1. 校验数据的有效性
  2. 查找符合要求的文本内容
  3. 对文本进行切歌,替换等操作

正则元字符:

1. 特殊单字符

1. . 任意字符(换行除外)
2. \d 任意数字 \D 任意非数字
3. \w 任意字母数字下划线 \W 任意非字母数字下划线
4. \s 任意空白符	\S 任意非空白符

2. 空白字符

1. \r 回车符
2. \n 换行符
3. \f 换页符
4. \t 制表符
5. \v 垂直制表符
6. \s 任意空白符

3. 量词

1. * 含义:0到多次
2. + 含义:1到多次
3. ? 含义:0到1次
4. {m} 含义:出现m次
5. {m,} 含义:出现至少m次
6. {m,n} 含义:出现m到n次

4. 范围

1. | 或
2. [……]多选以,括号中任意单个元素
3. [a-z]匹配a到z之间任意单个元素
4. [^……]取反,不能是括号中的任意单个元素

5. 断言

1. \b 单词边界
2. ^ 行开始的位置,$ 行结束的位置
3. \A \z 分别表示整个字符串的开始和结束(不受匹配模式影响)
4. 环视(零宽断言)
	1. (?<=Y) 左边是Y
	2. (?<!Y) 左边不是Y
	3. (?=Y) 右边是Y
	4. (?!Y) 右边不是Y

正则分组:

功能:将某部分砍成一个整体,在后续查找或替换中引用分组
非捕获分组使用(?:正则)
分组命名(?P<名称>正则)
在后面可以使用 /序号来进行引用

正则匹配模式:

  1. 不区分大小写(?i)
  2. 点号通配模式(?s)
  3. 多行模式(?m)
  4. 注释模式(?# 'comment')

贪婪、非贪婪与独占模式

  1. 贪婪匹配:表示次数的量词,默认是贪婪的。满足要求的情况下,尽可能按最长去匹配
    • 回溯:后面匹配不上,会吐出已匹配的再尝试
  2. 非贪婪匹配:“量词”元字符后加?(英文问号)。满足要求情况下,尽可能按最短进行匹配
    • 回溯:后面匹配不上,会匹配更长再接着尝试
  3. 独占模式:“量词”元字符后加+(英文加号)。满足要求情况下,尽可能按最长去匹配
    • 回溯:不会发生回溯,匹配不上即失败

猜你喜欢

转载自blog.csdn.net/u013795102/article/details/107939714
今日推荐