2015-10-26 142 views
-1

从替换HTML文件子标签我有一个字符串象下面这样:别的东西

string = "<sub>1</sub>" 

我想标签子改变这样的事情:

"<sub>1</sub>" -> "-sub--1--sub-" 

我已经试过这样:

string1 = re.sub('<sub.*>','-sub--',string) 
string1 = re.sub('</sub>','--sub-',string) 

但它不起作用。

回答

2
re.sub(r"<([^>]*)>([^<]*)<\/([^>]*)>", r"-\1--\2--\3-", string) 
0

您使用了贪心操作.*,其中非贪婪操作.*?会更好地工作。此外,您的第二个更改会覆盖您的第一个更改。 试试这个:

string1 = re.sub('<sub.*?>','-sub--',string) 
string1 = re.sub('</sub>','--sub-',string1) 

但是,你应该avoid using regex to parse XML。改为使用XML解析器。