Exporte todas las coincidencias de expresiones regulares en Textpad o Notepad++ como una lista

Exporte todas las coincidencias de expresiones regulares en Textpad o Notepad++ como una lista

En Textpad o Notepad++, ¿existe una opción para exportar todas las coincidencias para una búsqueda de expresión regular, como una lista única?

En un archivo de texto grande, estoy buscando etiquetas (palabras encerradas en % %), usando expresiones regulares %\< and \>%y quiero todas las coincidencias en una lista única, para poder eliminar duplicados usando Excel y obtener una lista de etiquetas únicas.

Respuesta1

Puedes lograr esto usandoReferencias anterioresy la funcionalidad Buscar y marcar en Notepad++.

  1. Encuentre las coincidencias usando expresiones regulares (digamos %(.*?)%) y reemplácelas por \n%\1%\n, después de esto tendremos nuestra palabra objetivo en líneas separadas (es decir, ninguna línea tendrá más de una palabra coincidente)

  2. Utilice la función Buscar-->Buscar-->Marcar para marcar cada línea con expresiones regulares %(.*?)%y recuerde marcar 'Línea de marcador' antes de marcar el texto

  3. Seleccione Buscar-->Marcador-->Eliminar líneas sin marcar
  4. Guarde el texto restante. Es la lista requerida.

Respuesta2

esta haciendo estoen¿Notepad++ es un requisito obligatorio? ¿Estás en Windows o alguna forma de Unix? Si estás en Windows, puedes hacerlo (parcialmente) desde el símbolo del sistema:

findtr /r "%[az].*[az]% %[az]%"tu archivo>archivo nuevo

findstrestá vagamente inspirado en grep, por lo que estoarchivo nuevo contendrá todoslíneascoincidir con sus criterios de búsqueda; luego puedes usar Notepad++ para eliminar el texto no deseado (a la izquierda del primer % y a la derecha del segundo).


Y, por supuesto, si utilizas Unix, puedes realizar la tarea equivalente con sed. Y si tienes GNU grep(es decir, si estás en Linux), puedes hacerlo con grep -o.

Respuesta3

Hay un complemento de Notepad ++ que puede copiar expresiones regulares coincidentes a un archivo nuevo en una pestaña nueva. Extracto de expresiones regulares

Como no encontré ningún complemento para Notepad++ que pueda extraer texto del documento actual o todos los archivos de una ubicación con algunas configuraciones adicionales (como la conversión de mayúsculas y minúsculas), decidí intentar hacerlo yo mismo. (...) La interfaz del complemento es bastante sencilla (...). (...) Los campos "Buscar", "Reemplazar" y "Máscara" utilizan la sintaxis de expresiones regulares de C++11. La extracción de archivos funciona ahora solo para aquellos en UTF8.

Editar Entrada de diálogo adaptada a la pregunta

ingrese la descripción de la imagen aquí

En la imagen puedes ver cómo rellenar el diálogo. Supongo que una palabra no contiene espacios, etc., sólo caracteres que coinciden con \w. Notablemente:

  • Utilice un par de corchetes para permitir seleccionar la palabra, sin los caracteres de porcentaje.
  • Elige la opciónExtraer con reemplazar, para seleccionar la primera coincidencia. De lo contrario, obtendrá una salida en columnas de todos los $1, $2, etc.
  • ControlarSaltar $&...para dejar fuera los partidos completos.
  • ControlarFiltrar únicoinformar cada partido sólo una vez.
  • Hacer clicExtractopara seleccionar obtener resultados. (Buscarsólo encuentra las coincidencias, pero no informa).

Respuesta4

Si alguien está interesado en una solución en línea (ya que el complemento notepad++ no funciona en 64 bits), puede probarMolbioherramientaspuede extraer su expresión regular completamente sin líneas adicionales o con ellas.

información relacionada