加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式学习笔记

发布时间:2020-12-13 22:23:51 所属栏目:百科 来源:网络整理
导读:元字符 : "+" 规定前导字符必须在目标对象中连续出现 一次或多次 ; "*" 规定前导字符必须在目标对象中连续出现 零次或多次 ; "?" 规定前导字符必须在目标对象中连续出现 零次或一次 ; "d" 代表一个0-9的数字,补集为"D"(即非数字字符); "w" 匹配字母

元字符

"+" 规定前导字符必须在目标对象中连续出现一次或多次

"*" 规定前导字符必须在目标对象中连续出现零次或多次

"?" 规定前导字符必须在目标对象中连续出现零次或一次

"d" 代表一个0-9的数字,补集为"D"(即非数字字符);

"w" 匹配字母,数字或下划线的字符,补集为"W";

"s" 匹配单个空格符(包括tab键和换行符),补集为"S";

"n" 换行 "r"回车 "t"制表 "v"垂直制表 "f"换页 "e"Escape "" 表示null字符;

"A" 字符串开头 "Z"字符串结尾或行尾

"." 匹配除换行符"n"外的任意字符;

"[...]" 匹配"[]"内列出的所有字符;

"[^...]" 匹配非"[]"内列出的所有字符;

定位符

"^"规定字符必须出现在目标字符的开头

"$" 规定字符必须出现在目标字符的结尾

"b"规定匹配对象必须位于字符串的开头结尾两个边界之内;

"&;"匹配一个单词的开头;

"&;"匹配一个单词的结尾。

范围区间

"{n}","{n,}",m}"分别依次表示匹配前面字符出现n次出现n次或多于n次出现n次到m次

"[a-z]","[A-Z]","[0-9]"分别依次匹配一个小写a到z,大写A到Z,数字0到9中的任意字母或数字;

则一匹配"(|)" 若值为(ab|xy)则匹配的值为ab或者xy。

转义字符:"" 将特殊字符转译成一个字符,一般出现在目标字符串中含有特殊字符的情况下。

贪婪与非贪婪

".*"匹配最后一个出现值;

".*?" 匹配第一个获取到的值。

十六进制字符范围

"xXX"和"xXXXX"表示一个字符("X"表示十六进制数)

组和非捕获组

"()" 正则表达式引擎会记忆"()"中匹配到的内容,后面可重复运用到组里面内容的地方标记"1"(是表达式中的第一个组则为"1",数字依次类推);

"(?:)" 非捕获组,正则表达式引擎不保存该组内容。

"(?<name>exp)" 匹配文本到名称为"name"的组里面,也可写作"()"

零度正预测先行断言

"(?!exp)" 匹配exp后面跟的不是exp的位置

"(?<=exp)" 匹配exp后面的位置

"(?<!exp)" 匹配前面不是exp的位置

零宽正向先行断言: "(?(exp)yes|no)" = "(?(exp)yes)" 如果在这个位置能匹配,使用yes作为词组的表达式;否则使用no。

高级模式匹配规则:

"i" 表示进行忽略大小写的匹配;

"g" 匹配全局,即找出被检索字符串的所有匹配

"m" 多模式匹配,正对多行字符串,匹配每行中的内容而不是把换行作为字符串的结束标志

注释: "(?#comment)" 不对正则表达式的处理产生任何影响。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读