Python中正则表达式的一些匹配规则

1.了解正则表达式
正则表达式是对字符串操做的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。python

正则表达式是用来匹配字符串很是强大的工具,在其余编程语言中一样有正则表达式的概念,Python一样不例外,利用了正则表达式,咱们想要从返回的页面内容提取出咱们想要的内容就易如反掌了。正则表达式

正则表达式的大体匹配过程是:
1.依次拿出表达式和文本中的字符比较,
2.若是每个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。
3.若是表达式中有量词或边界,这个过程会稍微有一些不一样。编程

2.正则表达式的语法规则
下面是Python中正则表达式的一些匹配规则Python中正则表达式的一些匹配规则编程语言

20130515113723855分布式

3.正则表达式相关注解
(1)数量词的贪婪模式与非贪婪模式
正则表达式一般用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也多是默认非贪婪),老是尝试匹配尽量多的字符;非贪婪的则相反,老是尝试匹配尽量少的字符。例如:正则表达式”ab”若是用于查找”abbbc”,将找到”abbb”。而若是使用非贪婪的数量词”ab?”,将找到”a”。ide

注:咱们通常使用非贪婪模式来提取。工具

(2)反斜杠问题
与大多数编程语言相同,正则表达式里使用”\”做为转义字符,这就可能形成反斜杠困扰。假如你须要匹配文本中的字符”\”,那么使用编程语言表示的正则表达式里将须要4个反斜杠”\\”:前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。学习

Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可使用r”\”表示。一样,匹配一个数字的”\d”能够写成r”\d”。有了原生字符串,妈妈也不用担忧是否是漏写了反斜杠,写出来的表达式也更直观勒blog

[学习python分布式爬虫-从基础到实战]字符串

相关文章
相关标签/搜索