2015-03-18 3 views
-1
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>Python Regex - поиск и замена совпадений

Так, в частности, для этого примера, новая строка должна быть как:

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. 

ответ

3

Im в большинстве случаев, просто re.sub будет достаточно:

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

Однако предполагается, что name является синтаксически приемлемым как атрибут HTML href (не содержит двойных кавычек, круглых скобок, & c). Если эта гипотеза не выполняется, работа может стать намного больше :-)

+0

@ Андзель направо, отредактировал А, чтобы произвести правильную замену, спасибо. –

+0

большое спасибо. это сработало – alix

Смежные вопросы