1、正则表达式基本语法

1.1基本符号

. 匹配任意字符
[…]匹配字符集
\d 匹配数字字符 \D匹配非数字字符
\s 匹配空白字符 \S匹配非空白字符
\w 匹配单词字符 \w 匹配非单词字符 等价于【a-zA-Z】

* 匹配前一个字符 0次或无限次
+ 匹配前一个字符1次或无限次 \d+ 匹配字符中的数字
? 匹配前一个字符0次或者1次
^ 匹配开头 ^p 匹配以p开头字符
$ 匹配结尾 p$ 匹配以p结尾

1.2括号解释

正则表达式的() [] {}有不同的意思。

1、() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。
(\s*)表示连续空格的字符串。
针对小括号:
若匹配规则里有1个括号------返回的是括号所匹配到的结果,
若匹配规则里有多个括号------返回多个括号分别匹配到的结果,
若匹配规则里没有括号------就返回整条语句所匹配到的结果

2、[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。
3、{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格。

(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。

[0-9]{0,9} 表示长度为 0 到 9 的数字字符串。

2、python 中正则表达式模块re

首先引入re模块
import re

re.match()从其实位置匹配 ,匹配不到就返回None
re.search()扫描字符串,返回第一个,只返回一个

re.compile()接收正则表达式,生成正则对象,就是中间变量,例如:以前是a=1 现在b=1 a=b ,这样做是方便你可以在任何地方调用b不用每个都去写。
re.findall() 匹配所有符合条件的,返回列表,若找不到返回空表
re.sub(‘a’,‘b’,txt) 在txt中将所有a替换为b

ps:纯手打,如果那里错误还望指正。