Python regex coincidencia de direcciones Url

0

Pregunta

Tengo una lista en el archivo de texto de direcciones Url con algunos mensajes no deseados que tengo escribió una expresión regular que va a satisfacer mis necesidades y que es el trabajo bien, pero estoy frente a un problema donde el regex agregar a la salida no deseada de las muestras ["] a continuación, algunos ejemplos:

el contenido de archivo de una lista de direcciones Url:

http://www.example.com/52                   (Status: 403) [Size: 919]
http://www.example.com/details              (Status: 403) [Size: 919]
http://www.example.com/h                    (Status: 403) [Size: 919]
http://www.example.com/affiliate            (Status: 403) [Size: 919]
http://www.example.com/56                   (Status: 403) [Size: 919]

la expresión regular que se utiliza es: "^[://.a-zA-Z0-9-_]*"

la salida de la siguiente manera:

['http://www.example.com/52']
['http://www.example.com/details']
['http://www.example.com/h']
['http://www.example.com/affiliate']
['http://www.example.com/56']

Necesito la salida como la siguiente:

http://www.example.com/52
http://www.example.com/details
http://www.example.com/h
http://www.example.com/affiliate
http://www.example.com/56

el código utilizado para este programa a continuación:

import re

with open("test.txt","r") as test:
    for i in test:
        x = re.findall("^[://.a-zA-Z0-9-_]*",i)
        print(x)
python python-3.x re regex
2021-11-22 04:26:30
1

Mejor respuesta

0

findall produce una lista de cadenas, usted puede imprimir el primer elemento en el resultado print(x[0]) o, simplemente, utilizar match en lugar de este caso de uso, ya que hay 1 url por línea.

with open("test.txt","r") as test:
    for i in test:
        x = re.match(r"[://.a-zA-Z0-9-_]*", i)
        print(x.group(0))
2021-11-22 04:43:38

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................