Pregunta

Estoy tratando de hacer que notepad ++ regex encuentre todas las instancias de " abc " y " def " en la siguiente frase:

  

El abc fue a la definición.

Ninguna de las siguientes sintaxis parece funcionar:

  • abc | def
  • [abc | def]
  • (abc) | (def)
  • (abc | def)

NOTA: " [a | d] " coincide con cualquier instancia de " a " o " d " cuando probé

¿Fue útil?

Solución

Actualiza a Notepad ++ v6. Desde la lista de cambios: se admite " PCRE (Expresiones regulares compatibles con Perl) " He verificado que | funciona en la búsqueda de expresiones regulares cuando se usa Notepad ++ v6.

Otros consejos

No tiene nada de especial en " más de un carácter " ;, Notepad ++ no admite el | personaje en regex. Ni siquiera " a | d " trabajos. Consulte la página de ayuda de expresiones regulares . La versión 6.1.1 de Notepad ++ ahora admite | .

Sugeriría usar un editor con una implementación de expresiones regulares adecuada como gvim o UltraEdit .

Dentro de una declaración de conjunto de caracteres ( […] ) solo los caracteres \ , ] y - son caracteres especiales con las funciones especiales de escapar del siguiente carácter, cerrar la declaración del conjunto de caracteres y marcar un rango de caracteres (solo si no se han escrito al principio o al final), respectivamente. Cualquier otro carácter se interpreta como un carácter plano.

Así es su | en [a | d] lo que significa que [a | d] describe cualquiera de los caracteres a , | o d y no solo a o d como a | d hace.

Estaba teniendo el mismo problema, que es cómo aterricé aquí. Ya que es una deficiencia de notepad ++, podemos hacerlo usando Powershell. En su caso, simplemente ejecute una cadena de selección:

`ss abc,def filename`

Si está en Unix, tiene otras herramientas como grep, por supuesto.

Reconozco que querías una solución para notepad ++, y yo también, pero a veces tienes que hacerlo.

El | debería funcionar ahora.
Gracias a la mejora de Regex en Notepad ++

abc | def

(abc) | (def)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top