美文网首页
L10:正则表达式基础

L10:正则表达式基础

作者: 水果皮儿 | 来源:发表于2018-12-21 23:08 被阅读0次

爬虫常常获取到html文件,从中提取有效信息的一种方式就是用正则表达式,方法基础但是强大。
正则表达式就是在字符串中寻找满足某种条件的子串。将筛选条件表示出来的符号就是正则表达式。
Python内置了re模块,可用其完成正则表达式的匹配。
在re模块中,常用的有5个函数,match、search、findall、sub、compile。

re.match

re.match(pattern, string, flags=0)

pattern为正则表达式,
string是原始字符串,
flags是匹配模式。
match方法从(且只从)第一个字符开始匹配。
返回一个match对象
可以调用group、groups、span等函数。

re.search

与match相类似,只是search不是必须要匹配第一个字符。

re.findall

相当于search的升级版。search只能匹配到第一个子串,而findall可以匹配所有子串。

re.sub

re.sub(pattern, repl, string, count=0, flags=0)

参数多了一个repl
sub是将原字符串中匹到的子串替换为repl

re.compile

re.compile(pattern, flags=0)

对于常用的正则表达式,可以先用compile,得到对象可以调用match、serach等函数。

常见问题

1.贪婪匹配
.* 可以匹配任意字符,会尽可能的多匹配字符,所以会导致某些问题。
比如用.(\d)匹配手机号,我们得到的手机号只有一位数字,因为其它数字被.匹配了。所以通常用 .*? 来进行非贪婪匹配,把字符留给后面的表达式。

2.匹配换行符
. 默认可以匹配除换行外的所有字符,如果把匹配模式设置为re.S,则 . 可以匹配换行符。

3.转义字符
比如 ? 表示匹配0个或1个,但如果要匹配字符串中的 ? , 则要进行转义:?。

相关文章

  • L10:正则表达式基础

    爬虫常常获取到html文件,从中提取有效信息的一种方式就是用正则表达式,方法基础但是强大。正则表达式就是在字符串中...

  • 正则表达式

    基础正则表达式 拓展正则表达式 贪婪与懒惰

  • 笔记:正则表达式

    正则表达式基础部分笔记

  • linux(十一) 正则

    基础正则表达式字符汇整 延伸型正则表达式 去除注释行和空行 如果使用基础正则表达式 如果是空白行,只有$,这样使用...

  • Java基础:正则表达式

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 正则表达式概述 正则...

  • python七正则表达式总结

    正则表达式 基础可选标志 重点:

  • 常用正则表达式及基础知识

    正则表达式 基础知识 正则表达式具有特殊含义的标点符号^ $ . * + ? = ! : | \ / ( ) [ ...

  • 正则表达式

    1 正则表达式 2 元字符介绍 3 BRE 和 ERE 1 BRE(基础正则表达式) 2 ERE (扩展正则表达式...

  • Python正则表达式指南

    Python正则表达式指南 本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达...

  • 004-golang 正则表达式的使用

    获取包名 参考链接 golang 正则表达式 基础知识 - Golang 中的正则表达式 线上正则表达式测试工具

网友评论

      本文标题:L10:正则表达式基础

      本文链接:https://www.haomeiwen.com/subject/dtkbkqtx.html