python中re模块提供了正则表达式相关操作。
1、 字符串匹配:
- . 匹配除换行符以外的任意字符
- \w 匹配字符或数字或下划线或汉字
- \s 匹配任意空白字符
- \d 匹配数字
- \b 匹配单词的开始或结束
- ^ 匹配字符串的开始
- $ 匹配字符串的结束
2、字符串次数匹配:
- * 重复0次或多次
- + 重复1次或多次
- ? 重复0次或1次
- {n} 重复n次
- {n,} 重复n次或更多次
- {n,m} 重复n到m次
3、re模块的方法
方法一:match
match:从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None.
1 2 3 4 |
|
举例说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
方法二:search
search: 浏览整个字符串去匹配第一个,为匹配成功返回None,这里强调一下match方法是从开头去匹配。
格式: search(pattern,string,flags=0)
举例说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
方法三:findall
findall:获取非重复的匹配列表;如果有一个组则以列表形式返回,且每一个匹配均是字符串;如果模型中多个组,则以列表形式返回,且每一个匹配均是元组;空的匹配也会包含在结果中。
格式:findall(pattern,string,flags=0)
举例说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
方法四:sub
sub:替换匹配成功的指定位置的字符串
1 2 3 4 5 6 |
|
举例说明:
1 2 3 4 5 6 7 8 |
|
方法五:split
split:根据正则匹配分割字符串
1 2 3 4 5 |
|
举例说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
1 2 3 4 5 6 7 |
|