Articles of expresión regular de

Regex: ¿Por qué se incluyen las cadenas vacías (en una lista de tuplas) en re.findall ()?

Según la coincidencia de patrón aquí , las coincidencias son 213.239.250.131 y 014.10.26.06 . Sin embargo, cuando ejecuto el código Python generado e re.findall(p, test_str) el valor de re.findall(p, test_str) , obtengo: [(”, ”, ‘213.239.250.131’), (”, ”, ‘014.10.26.06’)] Podría hackear la lista y las tuplas para obtener los valores que estoy buscando (las direcciones IP), […]

Compruebe si se produjo modificación en re.sub

La función de Python re.sub(pattern, replacement, string) devuelve la cadena modificada con el patrón coincidente reemplazado con el reemplazo. ¿Hay alguna forma fácil de verificar si se ha producido una coincidencia y se ha realizado una modificación? (Y también, cuántas modificaciones)

¿Por qué re.sub en Python no funciona correctamente en este caso de prueba?

Prueba este código. test = ‘ az z bz zz stuff zz ‘ re.sub(r'(\W)(z)(\W)’, r’\1_\2\3′, test) Esto debería reemplazar todas las z independientes con _z Sin embargo, el resultado es: ‘az _z bz _z z cosas _z _z’ Usted ve que hay az allí que falta. Teorizo ​​que es porque la agrupación no puede tomar […]

ignorando el carácter de nueva línea en la expresión regular

Estoy tratando de reemplazar todas las apariciones coincidentes con casos de títulos usando la siguiente secuencia de comandos. Cuando hay un carácter de nueva línea entre las palabras de filtro (en este caso, ‘ABC’ y ‘DEF’), esa línea no se reemplaza como se esperaba. ¿Cómo puedo ignorar el carácter de nueva línea en este caso? […]

sre_constants.error: nada que repetir

Estoy usando una expresión regular y me sale el error: Traceback (most recent call last): File “tokennet.py”, line 825, in RunIt(ContentToRun,Content[0]) File “tokennet.py”, line 401, in RunIt if re.search(r’\b’+word+r’\b’, str1) and re.search(r’\b’+otherWord+r’\b’, str1) and word != otherWord: File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py”, line 142, in search return _compile(pattern, flags).search(string) File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py”, line 242, in _compile raise error, v […]

¿Por qué se bloquea el método re.search de python?

Estoy usando la biblioteca de expresiones regulares de python para analizar algunas cadenas y actualmente encontré que mi expresión regular es demasiado complicada o que la cadena que estoy buscando es demasiado larga. Aquí hay un ejemplo de colgar: >>> import re >>> reg = “(\w+’?\s*)+[-|~]\s*((\d+\.?\d+\$?)|(\$?\d+\.?\d+))” >>> re.search(reg, “**LOOKING FOR PAYPAL OFFERS ON THESE PAINTED […]

Python re.escape y r ‘\ b’ dan resultados inesperados

Digamos que quiero hacer coincidir la presencia de la frase Sortes\index[persons]{Sortes} en la frase test Sortes\index[persons]{Sortes} text . Usando python re podría hacer esto: >>> search = re.escape(‘Sortes\index[persons]{Sortes}’) >>> match = ‘test Sortes\index[persons]{Sortes} text’ >>> re.search(search, match) Esto funciona, pero quiero evitar que el patrón de búsqueda Sortes dé un resultado positivo en el texto […]

Compruebe si existe una cadena en un archivo de texto

Así que tengo: def CheckUserExists(user): with open(“C:/~/database.txt”, ‘r’) as file: if re.search(user, file.read()): return True else: return False username = input(“Please enter you Username: “) if CheckUserExists(username) == True: print(“You exist!”) else: print(“This user does not exist…”) Sin embargo, si ingresa, por ejemplo, la letra ‘a’ y es un usuario llamado ‘cerebro’; la búsqueda recoge […]

Reemplazo de expresiones regulares multilínea

Quiero transformar un texto como: $$ foo bar $$ a y $\alpha$ a . Para reemplazar una sola línea, hice esto: re.sub(r”\$(.*)\$”, r””, text) … y funciona bien. Ahora, agregué la bandera multilínea para capturar la multilínea: re.sub(r”(?i)\$\$(.*)\$\$”, r””, text) … pero vuelve: foo bar ¿Por qué? Estoy seguro de que es algo trivial, pero […]

expresiones regulares para cotización triple

¿Qué expresiones regulares encontrarán los comentarios de comillas triples (posiblemente líneas múltiples) en un código fuente de Python?