Cuantificadores

Los cuantificadores se utilizan para especificar repeticiones de caracteres o secuencias en patrones, de la manera siguiente:

Metacarácter de cuantificador

Descripción

* (asterisco)

Detecta el elemento anterior repetido cero o más veces.

+ (más)

Detecta el elemento anterior repetido una o más veces.

? (signo de interrogación)

Detecta el elemento anterior repetido cero veces o una sola vez.

{n}

{n,}

y

{n,n}

Especifica un cuantificador numérico o un rango de cuantificadores para el elemento anterior:

/A{27}/ detecta el carácter A repetido 27 veces.

/A{3,}/ detecta el carácter A repetido 3 o más veces.

/A{3,5}/ detecta el carácter A repetido entre 3 y 5 veces.

Se puede aplicar un cuantificador a un solo carácter, a una clase de caracteres o a un grupo:

Se pueden utilizar cuantificadores dentro de grupos delimitados por paréntesis que tengan cuantificadores aplicados. Por ejemplo, el siguiente cuantificador detecta cadenas como word y word-word-word:

/\w+(-\w+)*/

De manera predeterminada, las expresiones regulares realizan lo que se conoce como una detección de la coincidencia más larga posible (greedy matching). Cualquier subpatrón de la expresión regular (como .*) intentará detectar la mayor cantidad posible de caracteres en la cadena antes de pasar a la siguiente parte de la expresión regular. Por ejemplo, considérense la expresión regular y la cadena siguientes:

var pattern:RegExp = /<p>.*<\/p>/;
str:String = "<p>Paragraph 1</p> <p>Paragraph 2</p>";

La expresión regular detecta toda la cadena:

<p>Paragraph 1</p> <p>Paragraph 2</p>

Sin embargo, si sólo se desea detectar una agrupación <p>...</p>, se puede hacer lo siguiente:

<p>Paragraph 1</p>

Añadir un signo de interrogación (?) a continuación de cualquier cuantificador para convertirlo en un cuantificador perezoso (lazy), que detecta la coincidencia más corta posible. Por ejemplo, la siguiente expresión regular, que utiliza un cuantificador de este tipo, *?, detecta <p> seguido del mínimo número posible de caracteres, seguidos de </p>:

/<p>.*?<\/p>/

Hay que tener en cuenta los siguientes aspectos sobre los cuantificadores:

Para más información, consulte El indicador s (dotall).


Flash CS3

 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000116.html