使用正则表达式替换括号内的字符

我有一个像这样的字符串:

str = "hello <abc123> python <is456> awesome"

我想用其他一些字符替换括号内的字符。像上面的字符串应该给出:

"hello lock python lock awesome "

我试过类似的东西:

ss = str.replace("\\<(.*?)\\>", 'lock')

但这没有用。那么,我如何使用正则表达式来做到这一点?


交互式爱情
浏览 316回答 3
3回答

紫衣仙女

你可以做一个简单的regex 替换,比如,>>> import re>>> str = "hello <abc123> python <is456> awesome">>> re.sub(r'<.*?>', 'lock', str)'hello lock python lock awesome'

波斯汪

这样做(将后视/前瞻断言与 的非贪婪匹配相结合.):before = "hello <abc123> python <is456> awesome"after = re.sub(r'(?<=<).+?(?=>)', 'lock', before)print(after)输出:hello <lock> python <lock> awesome如果你不想要括号,那么re.sub(r'<.+?>', 'lock', before)应该没问题。

慕盖茨4494581

>>> import re>>> s ="hello <abc123> python <is456> awesome">>> re.sub('<.*?>', 'lock', s)'hello lock python lock awesome'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python