正则表达式快速入门

正则表达式

字符类

字符类: 匹配特定集合中的字符。 有许多预定义的字符类,您也可以定义自己的字符集。


  • . 匹配除了换行符(\n)以外的任意一个字符
  • \w\d\s 任意一个字母或数字或下划线,也就是 AZ,az,0~9,_ 中任意一个, 任意一个数字,0~9 中的任意一个, 包括空格、制表符、换页符等空白字符的其中任意一个
  • \W\D\S 非 字母, 数字, 空白字符
  • [abc] 匹配a、 b、或c中的任何一个
  • [^abc] 匹配 a、b和c之外的任何一个
  • [a-g] a和g之间的任意一个字符

锚: 定类比较特殊,它匹配位置,而不是字符。


  • ^abc$ 字符串的开头/结尾
  • \b\B 单词边界、非单词的边界

转义字符

  • `.*\ 转义特殊字符
  • \t\n\r 制表符, LF换行符, CR换行符

分组 & 前瞻后顾

分组: 允许你把一系列的标记一起处理。捕获分组可以用反向引用单独地在结果中使用。

前瞻: 查找允许主表达式前或之后的组,而不将其包含在结果中。

后顾: 查找指定一个表达式之前或之后无法匹配的组。


  • (abc) 捕获分组
  • \1 反向引用#1的分组
  • (?:abc) 不捕获分组
  • (?=abc) 正向前瞻
  • (?!abc) 负向前瞻

量词 & 分支

量词: 指定了前面的标记需要出现的次数。默认情况下,量词是贪婪的,会尽可能多地匹配字符。


  • a*a+a?
    • * 0个或更多
    •  + 1个或更多
    • ? 0个或1个
  • a{5}a{2,}
    • {5} 刚好5个,
    • {2,} 2个或以上
  • a{1,3} 1~3个
  • a+?a{2,}? 非贪婪匹配(仅可能少匹配)
  • ab|cd 匹配 ab 或 cd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值