正则表达式匹配

正则表达式匹配

1.匹配单个字符

精确文本匹配

多个匹配结果
区分大小写

匹配任意字符

. 匹配任意一个单个字符

2.匹配一组字符

[n,s]a..xls

字符区间

[a,z]
[A,Z]
[A,z] 匹配ascci字符A到z的所有字母

匹配特殊字符

转义
匹配空白元字符
[\b] 回退一个字符
\r 换行符
\n 回车符
\t tab
\v 垂直制表符

4.使用元字符

使用Posix字符类

#[[:xdigit:]]{6}

5.重复匹配

* . + 设置匹配次数
匹配电子邮件 ?
patt1=/[\w\.]+@[\w.]+\.\w+/
匹配一个或多个字母数字,下划线 和 . 开头[ 匹配一次或多次]
[\w.] 与 [\w\.] 效果是一样的 匹配字符集(字母数字字符,下划线和 .
匹配url
https?://[\w./]+
使用区间进行重复次数匹配

6.字符串边界

^\s*<\?xml.*\?>

分行匹配模式

(m?) 必须出现在整个模式的最前面,要注意有很多正则不支持 (?m)
例子:
使用正则将下面代码的注释部分全部匹配出来
(?m)^\s*//.*$

7.使用子表达式

  1. 把一个表达式划分为一系列表达式的目的是为了把那些子表达式作为一个独立元素来使用,子表达式必须用(和)括起来
  2. 如果要匹配 (和)本身,就必须使用转义序列( 和 )

8.回溯引用 前后一致匹配

解决开始匹配部分和最后匹配部分的关系

回溯引用匹配
  1. 回溯引用指的是:模式的后半部分引用在前半部分定义的子表达式
  2. 第0个匹配用来代表整个正则表达式

<[Hh]([1-6])>.*?</[Hh]\1

向前查找元字符

.+(?=:) 匹配但是“不消费”
http://baidu.com
https://alibaba.com
tfp://hahah.yr.cn

向后查找元字符

?<=
A01: 58.77
A02: 59.22
A03: 79.09
B04: 11.2233
(?<=\$)[0-9.]+

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值