2014-02-05 90 views
-3

我有一些文字,例如:的Python:替換一些標籤的HTML字符串變量

我的文字\ B的最優\ b

,但我不能做到這一點\任務,因爲

這是fu ** regex?和其他文本

我如何與HTML標記替換這些標籤,如下列:

我的文字最好

但由於

這是福,我不能做這個任務**正則表達式?和其他文字

標記\ b成對,但\不成對,並且只能包含下一個單詞。

回答

1

使用兩個單獨的更換:

sample = re.sub(r'\\b(.*?)\\b', r'<h5>\1</h5>', sample) 
sample = re.sub(r'\\a(\s*\w+)', r'<a href="#task">\1</a>', sample) 

演示:

>>> import re 
>>> sample = '''\ 
... My text \\b the best \\b 
... but i cant do this \\a task because 
... this is fu** regex? And other text 
... ''' 
>>> sample = re.sub(r'\\b(.*?)\\b', r'<h5>\1</h5>', sample) 
>>> sample = re.sub(r'\\a(\s*\w+)', r'<a href="#task">\1</a>', sample) 
>>> sample 
'My text <h5> the best </h5>\nbut i cant do this <a href="#task"> task</a> because\nthis is fu** regex? And other text\n' 
>>> print sample 
My text <h5> the best </h5> 
but i cant do this <a href="#task"> task</a> because 
this is fu** regex? And other text