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

共 658字,需浏览 2分钟

 ·

2022-05-25 05:40


↑ 关注 + 星标 ,每天学Python新技能

后台回复【大礼包】送你Python自学大礼包


正则表达式是学习编程绕不开的话题,无论是Python也好或者Java等其他语言也罢。都需要写正则表达式
啥是正则呢?
所谓的正则,就是由一堆字母和符号组成的特殊文本,它可以从目标文本中找到我们想要的内容的语句。
  • 比如我们爬取数据时,需要正则去匹配响应中的数据;

  • 校验邮箱/手机格式时也需要正则。
  • 用户名注册,需要验证用户名的字符以及长度等


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



项目内容

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

目录如下图所示


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


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

在线练习

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

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


网址:https://regex101.com/

其他推荐

1、Regexr

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



2、Regulex

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

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


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

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



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



  1. 知网哭穷赔不起1200亿,网友:收钱时咋不嫌多

  2. 5 分钟,使用内网穿透快速实现远程手机桌面!

  3. 别人的导师!学生知乎上提问导师人品如何,没想到导师亲自回答了...




浏览 103
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报