簡體   English   中英

正則表達式提取特定文本前后的所有內容

[英]Regex extract everything after and before a specific text

我需要從中提取:

<meta content=",\n\n\nÓscar Mauricio  Lizcano Arango,\n\n\n\n\n\n\n\nBerner León Zambrano Eraso,\n\n\n\n\n" name="keywords"><meta content="Congreso Visible - Toda la información sobre el Congreso Colombiano en un solo lugar" property="og:title"/><meta content="/static/img/logo-fb.jpg" 

那里顯示的名字:ÓscarMauricio Lizcano Arango和BernerLeónZambrano Eraso。

所以那之后的一切都會像

<meta content=" 

和之前

name="keywords". 

另外,使用python,我想將每個名稱都作為列表的元素。 我會針對不同的字符串重復多次,並且名稱的數量也有所不同(可以是4個名稱,而不是本例中的2個)。

我該怎么辦?

我做到了

re.findall(r'(?<=content=",)[^.]+(?=name=)', names)

這可能對您有幫助:

# -*- coding: utf-8 -*-
import re
or_str = '<meta content=",\n\n\nÓscar Mauricio  Lizcano Arango,\n\n\n\n\n\n\n\nBerner León Zambrano Eraso,\n\n\n\n\n" name="keywords"><meta content="Congreso Visible - Toda la información sobre el Congreso Colombiano en un solo lugar" property="og:title"/><meta content="/static/img/logo-fb.jpg"'
new_str = or_str.replace("\n","")
li = re.findall('meta content=",(.*)" name="keywords"', new_str);
new_str = ''.join(li)
print re.findall('(.*?),',new_str)

我使用replace()方法將所有換行符\\n更改為NULL
然后,我使用findall查找名稱並將其放在列表中,然后再次使用findall將每個名稱存儲為列表的元素,因為findall返回列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM