正则表达式是匹配模式,要么匹配字符,要么匹配位置

正则表达式是匹配模式,要么匹配字符,要么匹配位置

正则表达式之所以强大,是因为它能实现模糊匹配

模糊匹配有两个方向上的匹配:

  1. ​ 横向模糊
  2. ​ 纵向模糊
横向模糊

一个正则可匹配的字符串的长度不是固定的

正则 /ab{2,5}c/ 表示匹配这样一个字符串:

第一个字符是 “a”,接下来是 2 到 5 个字符 “b”,最后是字符 “c”

纵向模糊

具体到某一位字符时,它可以不是某个确定的字符,可以有多种可能

比如 /a[123]b/ 可以匹配如下三种字符串: “a1b”、“a2b”、“a3b”

复杂一点的情况:

也就是匹配的字符较多,这时候采用范围表示法

[123456abcdefGHIJKLM],可以写成 [1-6a-fG-M]。用**连字符 -** 来省略和简写

这里面存在一个问题:

就是当我们需要匹配**连字符-**时,就可能产生歧义

所以我们需要以下方式来避免产生歧义

[-az][az-][a\-z]  //  \是转义符
字符组具体含义
\d表 记示 忆方式:其 [0-9]。表 英示 文是 是一digit 位数字 (数字) 。 。
\D表示 [^0-9]。表示除数字外的任意字符。
\w表 记示 忆方式: [0-9a-zA-Z_] w 是 word 。表的示数字、 简写,也大小写 称单词字字符 母和下 。 划线。
\W表示 [^0-9a-zA-Z_]。非单词字符。
\s表示 [ \t\v\n\r\f]。表示空白符,包括空格、水平制表符、垂直制表符、换行符、回车符、换页 符。
\S表示 [^ \t\v\n\r\f]。 非空白符。
.表示 [^\n\r\u2028\u2029]。通配符,表示几乎任意字符。换行符、回车符、行分隔符和段分隔符 除外。
可以使用 [\d\D][\w\W][\s\S][^] 中任何的一个 来匹配任意字符
量词具体含义
{m,}表示至少出现 m 次。
{m}等价于 {m,m},表示出现 m 次。
?等价于 {0,1},表示出现或者不出现。
+等价于 {1,},表示出现至少一次。
*等价于 {0,},表示出现任意次,有可能不出现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值