En Textpad o Notepad ++, ¿hay una opción para exportar todas las coincidencias para una búsqueda de expresión regular, como una sola lista?
En un archivo de texto grande, estoy buscando etiquetas (palabras encerradas en%%), usando expresiones regulares %\< and \>%
, y quiero todas las coincidencias como una sola lista, para poder eliminar duplicados usando Excel y obtener una lista de etiquetas únicas.
Respuestas:
Puede lograr esto utilizando las referencias traseras y la funcionalidad Buscar y marcar en Notepad ++.
Encuentre las coincidencias utilizando 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)Use la funcionalidad Buscar -> Buscar -> Marcar para marcar cada línea con expresiones regulares
%(.*?)%
y recuerde marcar ' Marcar línea ' antes de marcar el textofuente
¿Hacer esto en Notepad ++ es un requisito obligatorio? ¿Estás en Windows o alguna forma de Unix? Si está en Windows, puede hacerlo (en parte) desde el símbolo del sistema:
findstr
está vagamente inspiradogrep
, por lo que este nuevo_archivo contendrá todas las líneas que coincidan con sus criterios de búsqueda; luego puede usar Notepad ++ para eliminar el texto no deseado (a la izquierda del primer% y a la derecha del segundo).Y, por supuesto, si estás en Unix, puedes hacer la tarea equivalente con
sed
.fuente
Hay un complemento Notepad ++ que puede copiar la expresión regex coincidente en un nuevo archivo en una nueva pestaña. RegexExtract
Entrada de diálogo de edición adaptada a la pregunta
En la imagen puede ver cómo completar el cuadro de diálogo. Supongo que una palabra no contiene espacios, etc., solo caracteres que coinciden con \ w. Notablemente:
fuente
En TextPad, aparecerá el
Find
cuadro como de costumbre, luego usará elMark All
botón.A partir de ahí, use la
Copy Bookmarked Lines
función. (Menú Editar> Copiar otro> Líneas marcadas).fuente