正则表达式介绍及一些语法

简单的转译字符

符号含义
\n代表换行符
\t代表制表符
\\代表\本身
\^,\$,\(,\),\{,\},\?,\+,\*,|,\[,\]匹配这些符号本身

标准字符集合

能够与 多种字符 匹配的表达式
注意区分大小写,大写是相反的意思

符号含义
\d任意一个数字,0~9中的任意一个
\D非数字
\w任意一个字母数字或下划线,A-Z,a-z,0~9,_
\W除了字母数字下划线的任意字符
\s包括空格、制表符、换行符等空白字符的其中任意一个
\S除了空格、制表符、换行符之外的任意字符
.小数点可以匹配任意一个字符,但是匹配不了换行符,如果要匹配包含\n在内的所有字符,一般用 [\s\S]

自定义字符集合

[]方括号匹配方式:能够匹配方括号中的任意一个字符

表达式匹配字符
[ab@5]匹配 a 或者b或者@或者5
^ab]匹配除了 a,b之外的任意字符
[f-k]匹配 f到k之间的任意一个字符,包括 f 和 k
[^A-F0-3]匹配除了A ~ F,0 ~ 3 之外的任意字符
  • 在 [ ] 中 ^ 表示取反对的意思。
  • 正则表达式的特殊符号,被包含到中括号中,就是去了特殊意义,除了 ^ 和 - 之外。
  • 标准字符集合,除了小数点在中括号中会失去特殊意义,其他的不会。 [\dab],匹配数字或者a,b

量词

修饰匹配次数的特殊符号

表达式含义
{n}表达式重复n次 ,包括 n
{m,n}表达式至少重复m次,至多重复n次 ,包括 m 和 n
{m,}表达式至少重复m次 ,包括 m
?匹配表达式0次或1次,相当于{0,1}
+表达式至少出现一次,相当于{1,}
*表达式不出现或者出现任意次,相当于{0,}
  • 贪婪模式:匹配字符越多越好,默认。例如下图中如果写成c{2,6},就是会匹配到一个cccccc。
  • 非贪婪模式:就是在量词后面加一个 ?号。还是下图,写成c{2,6}?,就会匹配到3个cc

如果连续的6个c,使用表达式c{2,3},会匹配到2个ccc,这是因为匹配到第一个ccc的时间会重新计数
在这里插入图片描述

字符边界

符号含义
^以什么开始
$以什么结束
\b左右边界不全是 \w ,即左右不全是字母,数字,下划线

正则的匹配模式

  • 忽略大小写模式
  • 单行模式:整个文本看做一个字符串,只有一个开头,一个结尾。
  • 多行模式:每行都是一个字符串,都有开头和结尾。

选择符或分组

表达式作用
|左右表达式之间 或 关系,匹配左边,或者右边
()捕获组 1.在被修饰匹配次数的时间,括号中的表达式可以作为整体被修饰。2.取匹配结果的时间,括号中的表达式匹配到的 内容可以单独得到

反向引用:每一对()会分配一个编号,使用()的捕获根据左括号从1开始自动编号。
通过反向引用,可以对分组已捕获的字符串进行引用,如下图:小括号中的表达式表示匹配两个字母,后面的\1表示对()中内容的引用,即()中匹配到go,\1再次引用go,这时候这个正则需要的就是 gogo
在这里插入图片描述

断言

  • 只进行子表达式的匹配,匹配内容不计入匹配结果
  • 这个位置应该符合某个条件
表达式含义
(?=exp)断言自身出现的位置 后面可以 匹配到表达式exp
(?<=exp)断言自身出现的位置 前面可以 匹配到表达式exp
(?!exp)断言自身出现的位置 后面不可以 匹配到表达式exp
(?<!exp)断言自身出现的位置 前面不可以 匹配到表达式exp

例如:断言自己后面可以匹配到ing的字符
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值