03-正则表达式

一:基础语法

1.1:限定符

  • X?:表示X,一个或一个也没有
  • X*:表示X,零个到多个
  • X+:表示X,一个到多个
  • X{n}:表示X正好n个
  • X{n,}:表示X至少有n个
  • X{n,m}:表示X最少有n个但是不会超过m个
  • 如果X为两位数或以上需要用()括起来后面再加上限定符,如:(ab)+

1.2:“或”运算符

  • 匹配两个单词,a cat或者a dog
    • a (cat|dog)

1.3:字符类

  • [abc]:配置abc中任意的字符
  • [^abc]:匹配非abc的任意字符
  • [0-9]:配置0-9之中的任意字符
  • [a-zA-Z]:匹配范围在a-z,A-Z
  • [^0-9]:匹配0-9之外的任意字符

1.4:元字符

  • \.和. :任意字符(但是不包含换行符)

  • \d:任意数字

  • \D:非数字

  • \w:单词字符 (所有的英文字符+数字+下划线)

  • \W:非单词字符

  • \s:空白字符 (空白符包含Tab和换行符)

  • \S:非空白字符

  • ^:配置行首

  • $:匹配行尾

1.5: 贪婪与懒惰匹配

*,+,{},会尽可能多的去匹配字符,解决方法:就是加?切换成懒惰匹配

贪婪:尽可能匹配多的字符

懒惰:尽可能匹配少的字符

  • *+{} ?:会将贪婪匹配切换成懒惰匹配

  • <.+?>:匹配所有的html标签如:<span></span>,<html></html>

二:常用示例

2.1:颜色值匹配

匹配所有十六进制的RGB颜色值

  • #[a-fA-F0-9]{6}\b

  • 取#,a到f、A到F、0到9之间的字符,取6个字符,\b代表单词字符的边界

2.2:IPv4地址匹配

  • \b((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b

2.3:获取数字包含小数

  • \d+(\.\d+)?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值