with tutorial regular regexp pattern numero note expressions expresion regex notepad++ pipe

regex - tutorial - regular expressions<>



¿Cómo se usa Notepad++ regex pipe | para cuerdas de más de un personaje? (5)

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

El abc fue a la def.

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é


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


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 de conjunto de caracteres y marcar un rango de caracteres (solo si no se escriben al principio o final), respectivamente. Cualquier otro personaje es interpretado como un personaje plano.

Asi es tu | en [a|d] que significa que [a|d] describe cualquiera de los caracteres a , | o d y no solo a o d como a|d hace.


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

abc | def

(abc) | (def)


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 en Unix tienes 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.


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

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