正则入门及基础理知识论

正则表达式

元字符: 正则表达式中具有特殊意义的专用字符。

正则元字符

  • 特殊字符
  • 空白符
  • 范围
  • 量词
  • 断言

特殊字符

  • . (英文的点) 表示换行以外的任意个字符
  • \d 任意数字 \D 任意的非数字
  • \w(小写) 任意字母、数字、下划线(不包含空格)
  • \W(大写) 任意非字母、数字、下划线
  • \s 任意空白符
  • \S(大写) 任意的非空白符
空白符
  • \r 回车符
  • \n 换行符
  • \f 换页符
  • \t 制表符
  • \v 垂直制表符
  • \s 任意空白符
量词
  • *: 0到多次
  • +: 1次到多次
  • ?: 0到1次
  • {m}: 出现m次
  • {m,}: 出现至少m次
  • {m,n}: m到n次
范围
  • |或,: 如love|live代表love或live
  • []多选一: 括号中任意个元素
  • [a-z]: 匹配a到z之间任意单个元素
  • [^…]: 不能是括号中的任意单个元素(^ 脱字符)

贪婪模式

尝试尽可能最大长度去匹配

非贪婪模式

量词后面加 ?:匹配长度最小满足要求的

独占模式(量词后加+)

独占模式与贪婪模式类似,尽可能多的去匹配,如果匹配失败就结束,不会进行回溯

例子
正则文本结果
贪婪模式a{1,3}abaaab匹配
非贪婪模式a{1,3}?abaaab匹配
独占模式a{1,3}+abaaab不匹配

脱字符(^)代表正则开头,美元符号($)代表结尾

分组

  • 使用括号将多个元字符组成的部分括起来,将括号内的元字符当作一个整体。
  • ”复用",就是引用之前出现过的分组。
  • 不保存子组,在括号内使用 ?: 可以提高正则的性能。
  • 分组命名:使用 (?P<分组名>正则)
  • 分组引用: \number 或者 $number
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值