十分钟搞定正则

本文介绍了正则表达式的基础知识,如元字符和常用规则,并推荐了一个在线正则解析网站Regulex,帮助开发者快速理解和应用正则,解决实际开发中的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

十分钟搞定正则


参考:

不知道大家在开发过程中由于没有时不时的遇到正则相关的开发或问题,面对着一串熟悉又陌生的字符,一边感叹他是使用什么魔法达到如此奇妙的效果,一边感叹这东西是真难学啊,基本是学一次忘一次,每次都得重新开始。刚好这次我遇到一个开发任务,经过权衡最终还是决定使用正则去实现,这次有点不一样,经过研究总结了正则的基本套路,以及分享一个非常实用的正则解析工具,让我们在十分钟入门正则并牢牢记住。


一、正则的基本套路

看各种教程会非常繁琐,我们不急于把相关的每个知识点都掌握,可以由点到面,先掌握一些核心和常用的点,然后再逐步深入,就像看书一样,最好是根据章节选读,而不是从头到尾试图将整本书都阅读到。那么通过以下常用的知规则为切入点:

序号表达式规则解释
1^以某某开头(这个和bash脚本中一致)
2$以某某结尾(这个和bash脚本中一致)
3\s小s,所有空白符,包括换行
4\S大s,非空白符【规律:大写和小写是相反的意思】
5\d数字字符。等价于 [0-9]
6\D非数字字符。等价于 [^0-9]
7*零次或多次
8+一次或多次
9?零次或一次
10{n}匹配n次
11{n,}至少匹配n次
12{n,m}至少匹配n次,最多匹配m次

以上是正则中最核心的点-元字符,其他的修饰符、运算优先级、匹配规则可以再慢慢掌握。

二、在线正则解析网站

了解到一个在线解析正则的宝藏网站:https://jex.im/regulex(强推去实践一下),该网站支持输入你的正则,帮助你通过图片的方式对正则进行拆解和标注,举个例子:
比如某配置文件中有密码和端口的配置,其中完整的一行配置为:

	password 0 admin123 port 8081

其中密码和端口是不固定的,我们需要通过正则将这两个元素提取出来,则正则可以写为:

	^\s*password\s+0\s+(\s+)port\s+(\d{1,5})\s*$

打开该在线解析网站,并输入我们自己的正则,可以看到:
在这里插入图片描述

看到每一块正则元素,都被拆解并标记具体的含义,这十分简洁明了,另外我们注意Group1和Group2标记,他们便是正则匹配后的group块,拿上面的例子来说,Group1则命中我们所需要的密码字段,Group2则命中我们所需要的端口字段,他们都是被英文括号“()”所包围,我们可以通过各种语言的api获取到这些字段。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值