测试8不限制3300编辑测试7不限制1300编辑测试5不限制1300编辑测试4不限制1300编辑测试3不限制0300编辑我想匹配测试8到测试3我写的是这样的feeds_plan_campaign_name=re.findall('''[.\S\s]*(.*?)[.\S\s]*[.\S\s]*[.\S\s]*[.\S\s]*[.\S\s]*[.\S\s]*[.\S\s]*[.\S\s]*[.\S\s]*''',feeds_plan_page_data.text,re.S)printlen(feeds_plan_campaign_name)forkinrange(len(feeds_plan_campaign_name)):print"name1"+feeds_plan_campaign_name[k]打印的结果只有测试3这是为啥呢?
2 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
对于这种结构分明(带有html完整标签的内容),我建议不要使用正则表达式regex,更好的办法是使用Xpath,如果你还不知道什么是Xpath,请在w3school学习一下.仅需体验三分钟,你就会和我一样爱上这款工具.(逃)如果你坚持要用正则,我写了个,真的很麻烦!而且挺没有可移植性.如下,供参考:'''regex=re.compile("[\s]* ([\u4e00-\u9fa50-9]*) [\s]*[\s]*([\u4e00-\u9fa5]*) [\s]*[\s]*[\s]*([0-9]*)[\s]* [\s]*[\s]*([0-9]*)") '''#(一行写不下,所以用了'''''',请拷贝测试时删去)返回值就是你需要的一个列表(多维数组).哔哔oneTA贡献1854条经验 获得超8个赞
佩服楼主的正则理解方式[.Ss] [.Ss]一堆重复不会括号扩起来吗不想捕获的话用个非捕获括号(?:[.Ss] [.Ss])*就你上面那个正则只有一个捕获括号,你还指望能返回啥呢添加回答
举报
0/150提交取消