首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python Regex,re.sub,替换模式的多个部分?

Python Regex,re.sub,替换模式的多个部分?
EN

Stack Overflow用户
提问于 2010-08-19 15:02:46
回答 3查看 58.6K关注 0票数 18

我似乎在这方面找不到好的资源..我正在尝试做一个简单的re.place

我想替换其中(.*?)的部分,但不知道如何执行此操作的语法。我知道如何在PHP中做到这一点,所以我一直在摆弄我认为它可以基于此的东西(这就是为什么它有$1,但我知道这在python中是不正确的)。如果有人能展示正确的语法,我将不胜感激,我不是问任何特定字符串的细节,只是想知道如何替换这样的东西,或者它是否有超过1 ()的区域。谢谢

originalstring = 'fksf var:asfkj;'
pattern = '.*?var:(.*?);'
replacement_string='$1' + 'test'
replaced = re.sub(re.compile(pattern, re.MULTILINE), replacement_string, originalstring)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-19 15:13:45

>>> import re
>>> originalstring = 'fksf var:asfkj;'
>>> pattern = '.*?var:(.*?);'
>>> pattern_obj = re.compile(pattern, re.MULTILINE)
>>> replacement_string="\\1" + 'test'
>>> pattern_obj.sub(replacement_string, originalstring)
'asfkjtest'

编辑:Python Docs是非常有用的参考资料。

票数 19
EN

Stack Overflow用户

发布于 2010-08-19 15:14:41

>>> import re
>>> regex = re.compile(r".*?var:(.*?);")
>>> regex.sub(r"\1test", "fksf var:asfkj;")
'asfkjtest'
票数 7
EN

Stack Overflow用户

发布于 2010-08-19 15:10:03

python文档是在线的,re模块的文档在这里。http://docs.python.org/library/re.html

不过,为了回答您的问题,Python使用\1而不是$1来引用匹配组。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3519487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档