2010-03-10 3 views
0

Я хочу использовать это регулярное выражение в Python:Как преобразовать это регулярное выражение в Python

<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+> 

(от RegEx match open tags except XHTML self-contained tags)

def removeHtmlTags(page): 
    p = re.compile(r'XXXX') 
    return p.sub('', page) 

кажется, что я не могу напрямую заменить сложное регулярное выражение в указанную выше функцию.

+0

Что ошибка или проблема, которую вы получили? –

+0

Вы избегаете апострофов в регулярном выражении с обратной косой чертой? Можем ли мы увидеть реальный код, который у вас есть, который не работает? – Tom

+0

, который помогает мне: https://regex101.com/ (проверьте вкус python) – JinSnow

ответ

1

Работы отлично здесь. Вероятно, у вас проблемы с котировками. Просто тройной цитатой это:

def removeHtmlTags(page): 
    p = re.compile(r'''<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+>''') 
    return p.sub('', page) 
0

Если вам нужно удалить HTML-теги, это должно сделать это:

import re 

def removeHtmlTags(page): 
    pattern = re.compile(r'\<[^>]+\>', re.I) 
    return pattern.sub('', page) 
+0

Это не вопрос, но точка исходного регулярного выражения заключается в том, чтобы разрешить угловые скобки внутри значений атрибутов. –