正则表达式(20210822)

1.定义

正则表达式的英文regex,是一种自定义的规则,用于检测数据是否符合一定的规则。

2.语法
2.1普通字符

字母,数字,下划线,没有特殊意义的标点符号。

2.2转义字符
  • \n:换行符
  • \t:制表符
  • \:\本身
  • 下列有特殊含义的字符前为加入\来匹配这些字符本身
    ^,$,(,),{,},?,+,*,|,[,]。
2.3标准字符集合(区分大小写,大写是相反的意思)
  • \d:任何一个数字,0-9
  • \w:任意一个字母或数字或下划线A-Z,a-z,0-9,_
  • \s:包括空格,制表符,换行符等空白字符的其中任意一个字符
  • .:小数点可以匹配除换行符外任意一个字符;
2.4 自定义字符集合
  • [ ]: 元字符,表示匹配一个长的数据;
  • [ab5@]:匹配"a",“b”,“5”,"@"其中任意一个字符;
  • [^abc]:匹配"a",“b”,"c"以外的任意一个字符;
  • [f-k]:匹配"f"到"k"之间任意一个字符;
  • [^A-F0-3]:匹配"a",“b”,"c"以外的任意一个字符;
  • 标准字符集合,除小数点外,如果被包含于括号,自定义字符集合将包含该集合
    [\d.-+]:数字,小数点,-号,+号,匹配其中一个;
2.5量词:修饰匹配次数的特殊符号
  • {n}:表达式重复n次,eg:\d{6}
  • {m,n}:表达式至少重复m次,最多重复n次,eg:\d{3,6}
    匹配时默认贪婪模式,按照例子就是有6个数字就匹配6个;
    非贪婪模式\d{3,6}?,匹配3个就接着匹配下一个;
  • {m,}:表达式至少匹配m次 ,eg:\d{3,}
  • ?:匹配表达式0次或1次,eg:a\d?b 匹配:“ab”,“a6b”
  • .+:匹配表达式至少出现一次,eg: a\d+b 匹配:“a7b”,“a66b”
  • .:匹配表达式不出现或出现任意次,eg: a\db 匹配:“a7b”,“a66b”,“ab”
2.6字符边界
  • ^:与字符串开始的地方开始匹配
  • $:与字符串结束的地方开始匹配
2.7匹配模式
  1. 单行模式(singleline)
  2. 多行模式(multiline)
  3. 忽略大小写(ignorecase)
    https://www.cnblogs.com/smailxiaobai/archive/2012/02/07/2341503.html
2.8选择符和分组
  • I:或 ;eg:a|b 匹配:a或b
  • ():捕获组 ;eg:([a-z]{2})([a-z]{2})\2 匹配:batoto(强行理解一下吧,2表示第二分组)

检验正则网站:
https://regexr.com/
自动生成代码网站:
http://tools.jb51.net/regex/create_reg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值