Python Regex - 搜索和替换匹配

时间:2015-03-18 14:36:48

标签: python regex

Vivamus sagittis lacus (name: something) vel augue laoreet 
rutrum faucibus dolor auctor. Donec ullamcorper nulla (name: another_thing) 
metus auctor fringilla.

这是我的字符串。可能有多种模式,如(name: xxxx)。我想找到每一个并替换为:<a href="something">something</a>

因此,特别是对于此示例,新字符串应该类似于:

Vivamus sagittis lacus <a href="something">something</a> vel augue laoreet 
rutrum faucibus dolor auctor. 
Donec ullamcorper nulla <a href="another_thing">another_thing</a>  
metus auctor fringilla.

1 个答案:

答案 0 :(得分:3)

在大多数情况下,一个简单的re.sub就足够了:

import re
newstring = re.sub(r'\(name:\s*([^)]+)\)',
                   r'<a href="\1">\1</a>',
                   old_string)

但是,这假定name在语法上可接受为HTML href属性(不包含双引号,括号和&amp; c)。如果这个假设不成立,那么工作可以变得更多: - )