正则表达式

👉通过perl来介绍正则表达式。

快速入门

    先写一个最简单的正则表达式,查到是否有匹配的字符串,如下:

$_ = "little verifier";

if(/little/){ # 查找 little 字符
	print "find it!\n";
}else{
	print "cannot find it!\n";
}

    如上,我们可以用 / 斜杠符号作为开始匹配正则。用/ … /的方式,在其中写正则表达式。其实/ … / 的方式是 m 匹配的简写,你可以用m{ }m( )m< >m/ /的方式都可以。比如要匹配 http://,你可以用/ http\/\//的方式去匹配,但是太难看了,也可以用m%http://%或者m{http://}等方式,这时候/就不需要用\去转义了。

1. 通配符及量词

.是一个通配符,通常会和量词*+连用,总结如下:

符号描述例子
.匹配任意一个字符,但不包括 \n 换行。/litt.e/ # 可以匹配到 little
.*匹配0个或多个任意字符/litt.*le/ # 可以匹配到 little
/li.*e/ # 可以匹配到 little
.+匹配一个以上任意字符,但至少匹配一个字符/litt.+le/ # 匹配不到 little
/li.+e/ #可以匹配到 little
.?匹配一个或0个字符,即有或者没有都行/litt.?le/ # 匹配不到 little
/litt.?e/ # 可以匹配到 little
t*t+t?t*匹配任意多个字符 t ;
t+匹配至少一个字符t ;
t?匹配0个或一个字符t ;
类似的如 :n?(0个或一个字符n)、c*(任意多个字符 c)、d+(一个以上字符 d)。
/lit+le/ # 可以匹配到 little
/li.+e/ #可以匹配到 little
(tb)*(tb)+(tb)?(tb)*匹配任意多个字符 tb ;
(tb)+匹配至少一个字符 tb ;
(tb)?匹配0个或一个字符 tb ;

2. 常用的简写

符号描述
(.)模式分组
a|b择一选择,要么匹配a,要么匹配b ;
[abc]字符集,匹配a、b、c 中的任一个字符

简写字符包括如下:

符号描述
\d十进制数字
\D非十进制数字
\s空白字符
\S非空字符
[\d\D]匹配和一个字符,可以是\n换行符(区别于.的地方)

3.锚位

符号描述例子
^匹配开头
$匹配结尾
\b匹配单独的单词/\bsub\b/ # 不能匹配subfunction

4.模式匹配修饰符

写在正则表达式的后面,如linux命令行一样,多个参数可以同时加,如xi

符号描述例子
x忽略正则表达式中的空格/ \s abc \d /x
i忽略匹配时的大小写/ \s aBc \d /xi
s匹配任意字符,包括换行符\n

未完待续…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小verifier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值