正则表达式的符号表、正则表达式基础、正则表达式速查

正则表达式的符号表

序号符号匹配对象示例
1^字符串起始位置当^出现在[]内部时,为取反。
2[0-9]匹配一个数字,没有数字时,匹配失败等价\d;[^0-9]等价\D
3[0-9]?匹配0或1个数字,没有数字时可以匹配
4[0-9]+匹配1或多个数字,没有数字时匹配失败
5abc$结尾匹配,要求以abc作为结尾
6*==可以不出现==,可以出现多次。X*YZ可以成功匹配YZ
7\cX控制字符,匹配Control + X\cA匹配Control + A
8\f \n \r换页 换行 回车
9\s匹配任何空白字符等价:[\f\n\r\t\v]
10\S匹配任何非空白字符等价:[^ \f\n\r\t\v]
11\t \v匹配水平制表符、垂直制表符
12()子表达式,可以将表达式看做一个单元(abc)*:匹配0到多个abc
13.==匹配除换行符以外的任何字符==
14[^]位于中括号之内的^,表示拒绝匹配该[]内的内容
15|两项之间选择其一进行匹配,逻辑或
16{}标记限定符,会用于限定需要对某个模式进行匹配多少次
17\b匹配单词的前或后边界(即单词与空格之间的边界、空白指出)\bFoo:匹配以Foo开始的单词
18\B\b的相反:任何不是边界的都可以匹配在单词FooBar中执行\BoBa可以成功匹配单词FooBar
19\num \1调用子表达式,即调用()的东西
20\w匹配字母数字下划线等价[0-9a-zA-Z_];取反:\W、[^0-9a-zA-Z _]

misc

  1. 注意:* 可以不出现,即abc*可以对ab匹配成功!
  2. 同上,? 也可以不出现,即abc?可以对ab匹配成功。区别在于* 可以匹配多个,而?匹配0或1个。
  3. ==特殊字符出现在[]内时,其功能会转换为普通的字符。如[.]就只表示匹配字符’.’,而’.’的原意是除换行符之外的任何单字符==。
  4. ==[xyz]也是表示范围,表示可以匹配x或y或z中的任意一个字符,并不是表示只能匹配’xyz’==

() [] {} 的理解和区别

{} 限定符

  • 限定符其实就是用来限定模式需要匹配多少次的。
  • 用法:{n,m}匹配n到m次,{n}匹配n次,{n,}匹配最少n次。
  • *:相当于{0,}, +:相当于{1,}, ?:相当于{0,1}。
  • 示例:Class[1-2][0-9]{1}

() 子表达式

  • ()内可以像写其他表达式一样,整个()组成子表达式。
  • 每个()子表达式都根据其位置拥有一个编号,可以使用\number来调用这个子表达式
  • 示例:”(\b[a-z]+) \1\b” # \1调用子表达式

[] 范围表达式

  • 内部可以指定一个匹配范围、匹配序列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值