当前位置:  开发笔记 > 编程语言 > 正文

Python re.sub总是匹配?

如何解决《Pythonre.sub总是匹配?》经验,为你挑选了1个好方法。

我有一个看起来像这样的数组:

mylist = [
  "blah blah hello",
  "\nbarnacles and stuff()",
  "\nhello again",
  "\nother stuff )"
]

我的正则表达式如下:

s = 'hello'
rx = re.compile(s + '.*')
newlist = [ rx.sub(thing, '') for thing in mylist ]

我期待新名单:

[
  "blah blah",
  "\nbarnacles and stuff()",
  "\n",
  "\nother stuff )"
]

相反,我得到了:

[
  "",
  "",
  "",
  ""
]

这是怎么回事?这在REPL中的行为方式不同......



1> jwodder..:

仔细查看已编译正则表达式方法的签名sub:

sub(repl, string, count=0)

第一个参数是替换字符串,第二个参数是要操作的字符串,这与您尝试调用它的方式相反.(注意,这与re.sub函数的相对参数顺序相同.)

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有