regular - Notepad++ captura de grupo regex
regular expressions (2)
Esto funciona sin mirar alrededor:
Buscar: [a-zA-Z0-9-.]+/.([a-zA-Z0-9-]+)/.([a-zA-Z0-9-]+)$
Reemplazar: /1/./2
Encuentra algo con al menos 2 períodos y solo letras, números y guiones después de los dos últimos períodos; luego lo reemplaza con las últimas 2 partes. Más intuitivo, en mi opinión.
Hay algo divertido pasando con ese líder xxx
. No parece ser simple ASCII. Por el bien de esta pregunta, voy a suponer que es algo divertido con este sitio y no representativo de sus datos reales.
Incorrecto
Curiosamente, anteriormente tuve una respuesta incorrecta aquí que acumuló muchos votos ascendentes. Entonces creo que debería preservarlo:
Buscar: [a-zA-Z0-9-]+/.([a-zA-Z0-9-]+)/.(.+)$
Reemplazar: /1/./2
Simplemente encuentra un nombre de host con al menos 2 períodos en él, luego lo reemplaza con todo después del primer punto.
Tengo ese archivo txt:
ххх.prontube.ru
salo.ru
bbb.antichat.ru
yyy.ru
xx.bb.prontube.ru
zzz.com
srfsf.jwbefw.com.ua
Intentando eliminar todos los subdominios con dicha expresión regular:
Find: .+/.((.*?)/.(ru|ua|com/.ua|com|net|info))$
Replace with: /1
Recibir:
prontube.ru
salo.ru
antichat.ru
yyy.ru
prontube.ru
zzz.com
com.ua
¿Por qué la última línea se convierte en com.ua
lugar de en jwbefw.com.ua
?
La parte .+
Coincide tanto como sea posible. Intenta usar .+?
en su lugar, y capturará lo menos posible, permitiendo que la opción com.ua
coincida.