Я новичок в regex.Here мои данные.python regex получить текст среди двух тегов с новой строкой
<p>[tag]y,m,m,l
1997,f,e,2.34g
2000,m,c,2.38[/tag]</p>
Я хочу получить это.
y,m,m,l
1997,f,e,2.34g
2000,m,c,2.38
Настоящее мое регулярное выражение.
(<p>\[tag(.*)\])(.+)(\[\/tag\]<\/p>)
Но это не работает из-за новой строки (\ п) .Если я использую re.DOTALL, это работает, но если мои данные имеет несколько записей, как
<p>[tag]y,m,m,l
1997,f,e,2.34g
2000,m,c,2.38[/tag]</p>
<p>[tag]y,m,m,l
1997,f,e,2.34g
2000,m,c,2.38[/tag]</p>
re.findall() возвращает только одно совпадение. Я кратко хочу этого. [данные1, данные2, данные3 ...]. Что я могу сделать?
где он данные, поступающие из? –
Вы можете использовать модификатор dotall вместе с не-жадным совпадением ... 're.findall (r '(? S)
\ [tag] (. *?) \ [/ Tag]
', текст)' – hwndНо я бы, вероятно, использовал Beatuiful Soup, чтобы извлечь текст из тегов абзаца, а затем захватить содержимое между этими тегами. – hwnd