提取文本和|之间的数字使用RegEx Python

时间:2018-07-23 10:53:03

标签: python regex extract

我想提取CVE|之间的信息,但仅是CVE第一次出现在txt中。

我现在有以下代码:

import re
f = open ('/Users/anna/PycharmProjects/extractData/DiarioOficial/aaa1381566.pdf.txt','r')
mensaje = f.read()
mensaje = mensaje.replace("\n","")

print re.findall(r'\sCVE\s+([^|]*)', mensaje)

这是txt文件:

CVE 1381566     

|     

Director: Juan Jorge Lazo Rodríguez    

Sitio Web:   

 www.diarioficial.cl    

|     

Mesa Central:   

 +562 2486 3600    

    Email:    

consultas@diarioficial.cl   

Dirección:    

Dr. Torres Boonen N°511, Providencia, Santiago, Chile.       

Este documento ha sido firmado electrónicamente de acuerdo con la ley N°19.799 e incluye sellado de tiempo y firma electrónica  

avanzada. Para verificar la autenticidad de una representación impresa del mismo, ingrese este código en el sitio web www.diarioficial.cl                           

DIARIO OFICIAL    

DE LA REPUBLICA DE CHILE    

Ministerio del Interior y Seguridad Pública      

V    

SECCIÓN       

CONSTITUCIONES, MODIFICACIONES Y DISOLUCIONES DE SOCIEDADES Y COOPERATIVAS                      

Núm. 42.031    

|    

Viernes 13 de Abril de 2018    

|    

Página 1 de 1      

Empresas y Cooperativas    

CVE 1381566        

EXTRACTO     

     

MARÍA SOLEDAD LÁSCAR MERINO, Notario Público Titular de la Sexta Notaría de  

Antofagasta, Prat Nº 482, local 25, certifica: Escritura hoy ante mí: CARLOS ANDRES ROJAS  

ANGEL, calle Antilhue Nº 1613; CAROLINA ANDREA ROJAS VALERO, calle Catorce de  

Febrero Nº 2339; NADIA TATIANA LEON BELMAR, calle Azapa Nº 4831; MARIO  

ANTONIO LUQUE HERRERA, calle Huanchaca Nº 398; PEDRO EDUARDO BARRAZA  

ZAPATA, Avenida Andrés Sabella Nº 2766; JOSE ANTONIO REYES RASSE, calle Altos del  

Mar Nº 1147, casa 15; y PATRICIA ALICIA MARCHANT ROJAS, calle Ossa N° 2741; todos  

domicilios Antofagasta, rectificaron y complementaron sociedad "CENTRO DE  

ACONDICIONAMIENTO FISICO LEFTRARU LIMITADA, LEFTRARU LIMITADA  

nombre de fantasía "LEFTRARU BOX LTDA"., constituida escritura este oficio, fecha 20 de  

febrero de 2018, publicada en extracto Diario Oficial fecha 13 de marzo de 2018, edición Nº  

42006; sentido señalar que la razón social correcta de la sociedad es: CENTRO DE  

ACONDICIONAMIENTO FISICO LEFTRARU LIMITADA; y su nombre de fantasía es  

LEFTRARU BOX LTDA.; y no "CENTRO DE ACONDICIONAMIENTO FISICO  

LEFTRARU, y nombre fantasía "LEFTRARU LTDA"., como erróneamente allí se menciona.-  

Demás estipulaciones escritura.- ANTOFAGASTA, 27 de marzo de 2018.-   

2 个答案:

答案 0 :(得分:1)

您可能要执行的操作不是在开头匹配\s,而是将空白字符\s*匹配零次或更多次,或者断言字符串^的开头并使用{{3 }}查找正则表达式模式产生匹配项的第一个位置。

然后从捕获组中获取值:

mensaje = mensaje.replace("\n","")
regex = r"\s*CVE\s+([^|]*)"
matches = re.search(regex, mensaje)
if matches:
    print (matches.group(1).strip()) # 1381566

search

答案 1 :(得分:0)

使用split的解决方案:

number = mensaje.split('CVE')[1].split('|')[0].strip()