关于正则表达式

关于正则表达式

路人甲路人甲

正则表达式是会呼吸的痛!不过往往的做爬虫的时候,你必须要会使用它。有时候也很奇怪,明明有bs4之类的库我却还是喜欢用正则表达式,估计是病。

如果你看过之前关于linux命令的文章(对 Linux 新手非常有用的 18 个命令 - 学习编程 - 知乎专栏linux新手常用命令(系列二) - 学习编程 - 知乎专栏),或者你自己经常在使用终端那么你一定知道使用 ? 和 * 通配符来查找硬盘上的文件,如果你会用word,你一定会看到在搜索或者替换字符的时候往往会有如下选项(other options -> regular expressions)这里即是正则。

正则表达式,又称正规表示法常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

正则无论是在编程中或是生活中都是一个非常有用的助手,因此就算它难,它有点反人类,但是我们还是要攻克它,成为囊中之物。

今天的教程分为两大部分,一部分是关于正则表达式的语法,另一部分是关于正则表达式在各语言中的使用!

第一部分正则表达式的基本语法

1、来自w3c的零基础教程:正则表达式

2、来自脚本之家的快速入门:正则表达式30分钟入门教程

2、来自微软的正则表达式语言 - 快速参考:正则表达式语言

第二部分各种语言中正则的使用

(如果你没有一下语言基础可以移步我的专栏:学习编程 - 知乎专栏

1、Python语言中的正则

w3c的python正则教程 (来自w3c超级简单版本,不推荐)

疯狂的Python:快速入门精讲疯狂的Python:快速入门精讲(来自网易云课堂)

jikexueyuan.com/course/ (来自极客学院)

2、Java中的正则

Java 正则表达式 (来自w3c超级简单版本,不推荐)

尚学堂_高淇java零基础最全300集视频教程 (目录从255课时到263课时)

尚学堂_史上最易懂的正则表达式

3、Javascript中的正则

JavaScript 正则表达式(来自w3c超级简单版本,不推荐)

李炎恢JavaScript教程 第一季 (章节10: 正则表达式,18课时到23课时)

尚学堂_正则表达式老高版 (适合零基础)

http://www.jikexueyuan.com/course/1379.html (来自极客学院)

4、php中的正则

PHP开发基础入门视频教程 (章节10: 正则表达式123课时-139课时)

5、c#中的正则

C# 正则表达式(来自w3c超级简单版本,不推荐)

jikexueyuan.com/course/ (来自极客学院)

最后附上正则表达式的快查表:

如果你想一遍学习一遍测试:

如果你学完了以上的内容,你想测试一下自己,那么下面是一些测试题目(按照惯例,测试题目答案会在明天即2016-06-13更新发布在订阅号:smcode2016(文末有二维码)


请帮我在该网页源码中查找如下内容:
1、查找所有汉字
2、查找Email地址
3、查找网址URL
4、查找国内电话号码
5、查找qq号码
6、查找身份证
7、查找中国邮编编码
8、查找中国身份证
9、查找由26个英文字母组成的字符串
10、查找由26个英文字母的大写组成的字符串
11、查找由26个英文字母的小写组成的字符串
12、查找由数字和26个英文字母组成的字符串
13、查找由数字、26个英文字母或者下划线组成的字符串

请帮我设计一个网站,某些表单如下要求:
只能输入数字
只能输入n位的数字
只能输入至少n位数字
只能输入m-n位的数字
只能输入零和非零开头的数字
只能输入有两位小数的正实数
只能输入有1-3位小数的正实数
只能输入非零的正整数
只能输入非零的负整数
只能输入长度为3的字符
只能输入由26个英文字母组成的字符串
只能输入由26个大写英文字母组成的字符串
只能输入由26个小写英文字母组成的字符串
只能输入由数字和26个英文字母组成的字符串
只能输入由数字、26个英文字母或者下划线组成的字符串
验证用户密码正确格式为:以字母开头,长度在6-18之间,
只能包含字符、数字和下划线。
验证是否含有^%&'',;=?$"等字符
只能输入汉字
验证Email地址
验证InternetURL
验证电话号码
验证身份证号(15位或18位数字)
验证一年的12个月
验证一个月的31天
32 条评论