python正则表达式
python表达式匹配过程: 正则表达式引擎编译正则表达式文本得到正则表达式对象,然后正则表达式对象与要匹配的文本匹配,得到匹配结果,如匹配得到的文本,分组以及在文本中索引。 正则表达式元字符: 数量词的贪婪模式与非贪婪模式: 正则表达式通常用于查找文本中要匹配的字符串。python正则表达式中的的数量词默认情况下是贪婪的(少数语言中是非贪婪的),总是尝试匹配尽可能多的字符,非贪婪则相反,总是尝试匹配尽可能少的字符。例如:正则表达式'ab*'匹配'abbbbc'匹配到的字符串为'abbbb',如果正则表达式为'ab*?',则在匹配'abbbbc'时,匹配到到的内容为'a'(因为'*+?')正则表达式变为非贪婪模式。 反斜杠的困扰 与大多数编程语言相同,正则表达式里使用"\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r"\\"表示。同样,匹配一个数字的"\\d"可以写成r"\d"。有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。 re模块 Pythont通过re模块提供对正则表达式的支持