2011-10-28 20 views
5

He estado jugando con el motor de expresión regular Notepad ++, pero hay algo que no puedo hacer, es la notación del cuantificador explícito.Notepad ++ notación de cuantificador explícito

he visto algunos otros puestos aquí donde se utiliza la siguiente sintaxis: (expr) {1,2}

Sin embargo, cuando lo uso en una prueba tan simple como k{1,1} donde el texto que desea buscar es k: no hay coincidencia. Probé muchas sintaxis: {1,}, {1}, etc. ¿Me falta algo aquí?

Disculpe mi mal inglés, y gracias por sus respuestas!

Respuesta

18

Comenzando con la versión 6.0, Notepad ++ es compatible con PCRE (source). Los cuantificadores funcionarán como se espera en estas versiones.

El motor de expresiones regulares de Notepad ++ 5.9.8 y más bajo no no es cuantificadores de soporte (source).

Puede, sin embargo, utilizar los siguientes cuantificadores:

  • k*, lo que equivale a k{0,}.
  • k+, que es equivalente a k{1,}.
  • k?, que es equivalente a k{0,1}.

Si desea otros cuantificadores, puede combinar los métodos anteriores.

Ejemplos:

  • kkk+ emula k{3,}
  • kkkk?k? emula k{3,5}
+0

Gracias por su respuesta! decepcionante, ya que me hace desarrollar muchas expresiones, pero al menos ahora estoy seguro :) – igelineau

+0

Notepad ++ se basa en [Scintilla] (http://www.scintilla.org/SciTERegEx.html), que usa expresiones regulares de la vieja escuela POSIX y estos cuantificadores no funcionaron allí. – NullUserException

+0

@Dennis No importa, me confundí con una expresión regular compleja en la que estaba trabajando. – Techrocket9

1

El sistema de expresión regular de Notepad ++ no parece ser compatible con esta característica. Sí admiten k+ y k*.