知行编程网知行编程网  2022-02-01 09:00 知行编程网 隐藏边栏 |   抢沙发  13 
文章评分 0 次,平均分 0.0
正则表达式是学习编程绕不开的话题,无论是Python也好或者Java等其他语言也罢。都需要写正则表达式
啥是正则呢?
所谓的正则,就是由一堆字母和符号组成的特殊文本,它可以从目标文本中找到我们想要的内容的语句。
  • 比如我们爬取数据时,需要正则去匹配响应中的数据;

  • 校验邮箱/手机格式时也需要正则。
  • 用户名注册,需要验证用户名的字符以及长度等
刚开始学习正则时,真的是吐了。虽然网上教程很多,但是正则表达包含的符号也多啊,死记硬背今天记住了,明天又忘了。
就在前几天上班摸鱼的时候,我发现GitHub上有一个非常牛X的项目:learn-regex,目前已经37.8K 星。可以有效的帮助大家入门和掌握正则表达式,并且这个项目被翻译成了多种语言。
项目地址:https://github.com/ziishaned/learn-regex

 

GitHub 标星 3.8w!最火正则表达式

项目内容

项目分为6个章节,内容并不是很多,一会儿就能看完。

目录如下图所示

GitHub 标星 3.8w!最火正则表达式

开始先从简单的正则表达式入手,介绍了基本匹配、元字符。大家都知道,正则表达式主要就是依赖于元字符,所以这是掌握正则的重中之重

 
元字符 描述
. 句号匹配任意单个字符除了换行符。
[ ] 字符种类。匹配方括号内的任意字符。
[^ ] 否定的字符种类。匹配除了方括号里的任意字符
* 匹配>=0个重复的在*号之前的字符。
+ 匹配>=1个重复的+号前的字符。
? 标记?之前的字符为可选.
{n,m} 匹配num个大括号之前的字符或字符集 (n <= num <= m).
(xyz) 字符集,匹配与 xyz 完全相等的字符串.
| 或运算符,匹配符号前或后的字符.
转义字符,用于匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ |
^ 从开始行开始匹配.
$ 从末端开始匹配.
除此之外还有常用字符集介绍
简写 描述
. 除换行符外的所有字符
w 匹配所有字母数字,等同于 [a-zA-Z0-9_]
W 匹配所有非字母数字,即符号,等同于: [^w]
d 匹配数字: [0-9]
D 匹配非数字: [^d]
s 匹配所有空格字符,等同于: [tnfrp{Z}]
S 匹配所有非空格字符: [^s]
f 匹配一个换页符
n 匹配一个换行符
r 匹配一个回车符
t 匹配一个制表符
v 匹配一个垂直制表符
p 匹配 CR/LF(等同于 rn),用来匹配 DOS 行终止符
每个章节除了有详细的文字介绍,代码示例。最牛X的地方是都附带了在线练习

GitHub 标星 3.8w!最火正则表达式

在线练习

比如判断某个语句是否以 The 开头。

匹配到的部分会高亮显示,并且再右侧会给出相应的解释。

GitHub 标星 3.8w!最火正则表达式

 

网址:https://regex101.com/

其他推荐

1、Regexr

这是我经常使用的一个正则表达式的调试工具,使用方法也非常简单,只需要将正则表达式输入进入,就会高亮显示匹配到的内容
在使用的时候可以随时修改我们的正则表达式,从而达到正确匹配的目的。
非常使用,推荐给大家。
地址:https://regexr.com/

GitHub 标星 3.8w!最火正则表达式

 

 

2、Regulex

一个在线的正则表达式的可视化工具,废话不多说,直接上图
还是拿我们上面的例子来说([A-Z])w+

地址:https://jex.im/regulex/

GitHub 标星 3.8w!最火正则表达式

 

从图中可以看出,这个正则分为两部分

  • A-Z: 给出的解释是One of: A-Z,意思就是字母A到Z其中之一
  • Word: 1 or more times,1个或者多个字母

 

对于正则很多同学刚开始第一感觉就是难学,好物规律可寻。其实只是对正则不了解而已,真正了解之后你会发现正则其实就那么一点语法。以上阿亮给大家分享的3个关于正则的工具,无论是学习还是以后的工作中都会有帮助的~

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享