我想这样做:
单词test应该在某些文本中找到并替换为<strong>test</strong>.但事情是,Test应该也被抓住并被替换<strong>Test</strong>.
我试过这个:
word = "someword"
text = "Someword and many words with someword"
pattern = re.compile(word, re.IGNORECASE)
result = pattern.sub('<strong>'+word+'</strong>',text)
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,Someword正在成为someword.我用re错了吗?
我想要 <strong>Someword</strong> and many words with <strong>someword</strong>
您需要使用捕获组:
>>> import re
>>> word = "someword"
>>> text = "Someword and many words with someword"
>>> pattern = re.compile('(%s)' % word, re.IGNORECASE)
>>> pattern.sub(r'<strong>\1</strong>',text)
'<strong>Someword</strong> and many words with <strong>someword</strong>'
Run Code Online (Sandbox Code Playgroud)
这里\1指的是第一个捕获的组,到括号内捕获的组.
另请参阅python 模块文档的" 搜索和替换"部分re.
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |