前言
正则表达式对于我们来说既熟悉又陌生,我们在很多时候都遇到过,但是学起来又很难记,不好理解;在没有接触正则表达式的时候,我就在想这一串奇怪的字符为啥可以代替其他很长的一段代码就可以得到预期值,去网上找资料和技术文章学习的时候,发现有很多知识点晦涩难懂;下面我将用非常通俗易懂的方法和大家一起学习正则表达式。
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
首先我们要在网页编译器 regular expression 101 在线编译里自己动手跟着操作一遍就会发现其实没有那么难理解。(一定要实际动手操作加深记忆)
对Python感兴趣的话,文末领取全套最新Python学习资源,祝你一臂之力!
一、基础字符
接下来一起操作一遍:(默认选中颜色表示符合条件)
1. +
号表示前边的字符必须至少出现一次(1次或多次);
*
表示前边的字符可以不出现,或者出现一次或者多次(0次、或1次、或多次)
3.?
号表示前面的字符最多只可以出现一次(0次或1次)
{}
号:
还是上边的例子
比如希望{}
前面的字符出现的次数是4次,就用{4}
表示
{}
还可以允许我们输入一个范围;比如{2,4}
表示前一个字符出现2到4次;
如果想表示出现2次以上;就用{2,}
表示;
- 如果想查找多个字符就
()+
6.“或”
通配符 如果想找 a dog和a cat就在()
里加“|”
;这里前面会先区匹配“a”
7.字符类[]+
可以匹配中括号里的字符,匹配到的字符只能取自于它们
另外 []+
可以匹配字符的范围
[a-z]+
表示匹配所有的小写英文字母;[A-Z]+
表示匹配所有的大写英文字母;
[a-zA-Z]+
表示匹配所有的英文字符;[a-zA-Z0-9]+
表示所有的英文字符和数字
8.如果在 []+
前边加 ^
,就表示匹配除了尖号后边列出的【