使用正則表達式的文字刪除CSS我有一個字符串,如:從在Python 3
"<p>
<style type=""text/css"">
P { margin-bottom: 0.08in; direction: ltr; widows: 2; orphans: 2; }A:link { color: rgb(0, 0, 255); } </style>
</p>
<p style=""font-variant: normal; font-style: normal; font-weight: normal"">
<font face=""Trebuchet MS, Arial, Verdana, sans-serif""><span style=""font-size: 12px; background-color: rgb(238, 238, 238);"">blablabla. </span></font></p>
<p style=""font-variant: normal; font-style: normal; font-weight: normal"">
<font face=""Trebuchet MS, Arial, Verdana, sans-serif""><span style=""font-size: 12px; background-color: rgb(238, 238, 238);"">tjatjatja</span></font><span style=""font-family: 'Trebuchet MS', Arial, Verdana, sans-serif; font-size: 12px; background-color: rgb(238, 238, 238);"">tjetjetje</span><span style=""font-size: 12px; font-family: 'Trebuchet MS', Arial, Verdana, sans-serif; background-color: rgb(238, 238, 238);"">.</span></p>
<p style=""font-variant: normal; font-style: normal; font-weight: normal"">
<span style=""font-family: 'Trebuchet MS', Arial, Verdana, sans-serif; font-size: 12px; background-color: rgb(238, 238, 238);"">huehuehue</span></p>
"
我想刪除第一個樣式標籤和它的內容。我有這樣一個正則表達式:
([\s\S]*)<style type=""text\/css"">[\s\S]+<\/style>([\s\S]*)
剛剛的第一個樣式標籤匹配,但是當我嘗試與刪除它在python:
re.sub(r'([\s\S]*)<style type=""text/css"">[\s\S]*</style>([\s\S]*)', r'\1\2', cell_text, flags=re.M)
這是行不通的。我認爲這要麼是與團體打交道,要麼是以多線的形式進行。有任何想法嗎?
如果可以使用更多'style'標籤,至少必須使''\ s \ S] *'非貪婪('[\ s \ S] *?')。 – ClasG
And ...我不是Python專家,但你的正則表達式有單引號 - 爲什麼2'「'在裏面?我猜字符串有2,因爲這是你如何在Python中轉義引號,但不應該是必須在一個單引號字符串中,或者...? – ClasG
不知道爲什麼示例數據包含引號。爲了對抗它,我使用了包含正則表達式的原始字符串的單引號 – tjarles