python正则表达式中的括号匹配问题
问题: m = re.findall(‘[0-9]*4[0-9]*’, ‘[4]’) 可以匹配到4. m = re.findall(‘([0-9])*4([0-9])*’, ‘[4]’) 匹配不到4. 这是为什么呢?PS,这个是一个简化的说明,我要用的正则比这个复杂,所以要用到(),表示一个序列的匹配。 补充一点,我放在notepad++中用的时候,两种写法都能匹配出来,不知道为什么python中就不行了。 答案: python的正则中用()会进行匹配,所以返回结果是[”,”],就是两个()中的匹配。要想达到原来的匹配效果,就是把4匹配出来,有两种解决方法: 1.最外层加个大括号,变成
下载地址
用户评论