Python爬虫编程思想(32):正则表达式的分组

Posted 蒙娜丽宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫编程思想(32):正则表达式的分组相关的知识,希望对你有一定的参考价值。

        

        如果一个模式字符串中有用一对圆括号括起来的部分,那么这部分就会作为一组,可以通过group方法的参数获取指定的组匹配的字符串,当然,如果模式字符串中没有任何用圆括号括起来的部分,那么就不会对待匹配的字符串进行分组。

m = re.match(\'(\\d\\d\\d)-(\\d\\d)\', \'123-45\')

        在上面的代码中,模式字符串可以匹配以3个数字开头,后面跟着一个连字符(-),最后跟着两个数字的字符串。由于“\\d\\d\\d”和“\\d\\d”都在圆括号中,所以这个模式字符串会将匹配成功的字符串分成两组,第1组的值是“123”,第2组的值是“45”,m.group(1)会获取第1个分组值,m.group(2)会获取第2个分组值。如果模式字符串改成下面的形式,虽然可以匹配“123-45”,但“123-45”并没有被分组。

m = re.match(\'\\d\\d\\d-\\d\\d\', \'123-45\')

下面的例子

以上是关于Python爬虫编程思想(32):正则表达式的分组的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(35):用正则表达式搜索替换和分隔字符串

Python爬虫编程思想(30):用正则表达式匹配多个字符串和任意单个字符

Python爬虫编程思想(31):在正则表达式中使用字符集匹配重复可选字符和特殊字符

python爬虫(二十三) 正则表达式分组

Python爬虫编程思想(36):项目实战-抓取斗破小说网的目录和全文

Python爬虫编程思想(86):项目实战--抓取豆瓣音乐排行榜