Paquete | Nivel superior |
Clase | public dynamic class RegExp |
Herencia | RegExp Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Puede crear un nuevo objeto RegExp utilizando el constructor new RegExp()
o asignando un literal RegExp a una variable:
var pattern1:RegExp = new RegExp("test-\\d", "i"); var pattern2:RegExp = /test-\d/i;
Para obtener más información, consulte “Uso de expresiones regulares” en la Guía del desarrollador de ActionScript 3.0.
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
dotall : Boolean [solo lectura]
Indica si el carácter de punto (.) del patrón de una expresión normal coincide con caracteres de nueva línea. | RegExp | ||
extended : Boolean [solo lectura]
Especifica si debe utilizarse el modo ampliado para la expresión normal. | RegExp | ||
global : Boolean [solo lectura]
Especifica si debe utilizarse la coincidencia global para la expresión normal. | RegExp | ||
ignoreCase : Boolean [solo lectura]
Especifica si la expresión normal no distingue entre mayúsculas y minúsculas. | RegExp | ||
lastIndex : Number
Especifica la posición de índice de la cadena en la que debe comenzar la siguiente búsqueda. | RegExp | ||
multiline : Boolean [solo lectura]
Especifica si está definido el indicador m (multiline). | RegExp | ||
source : String [solo lectura]
Especifica la parte del patrón de la expresión normal. | RegExp |
Método | Definido por | ||
---|---|---|---|
Le permite construir una expresión normal a partir de dos cadenas. | RegExp | ||
Realiza una búsqueda de la expresión normal en la cadena str en cuestión. | RegExp | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Comprueba la coincidencia de la expresión normal con la cadena str en cuestión. | RegExp | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object |
dotall | propiedad |
dotall:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica si el carácter de punto (.) del patrón de una expresión normal coincide con caracteres de nueva línea. Utilice el indicador s
al construir una expresión normal para definir dotall = true
.
Implementación
public function get dotall():Boolean
Ejemplo ( Cómo utilizar este ejemplo )
s
(dotall
) en una expresión normal:
var str:String = "<p>Hello\n" + "again</p>" + "<p>Hello</p>"; var pattern:RegExp = /<p>.*?<\/p>/; trace(pattern.dotall) // false trace(pattern.exec(str)); // <p>Hello</p> pattern = /<p>.*?<\/p>/s; trace(pattern.dotall) // true trace(pattern.exec(str));
extended | propiedad |
extended:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Especifica si debe utilizarse el modo ampliado para la expresión normal. Cuando un objeto RegExp está en modo ampliado, no se tienen en cuenta los caracteres de espacio en blanco de la cadena constructora. Esto permite que los constructores resulten más legibles.
Utilice el indicador x
al construir una expresión normal para definir extended = true
.
Implementación
public function get extended():Boolean
Ejemplo ( Cómo utilizar este ejemplo )
x
, por lo que se omiten los espacios en blanco de la cadena.
var rePhonePattern1:RegExp = /\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/; var str:String = "The phone number is (415)555-1212."; trace(rePhonePattern1.extended) // false trace(rePhonePattern1.exec(str)); // (415)555-1212 var rePhonePattern2:RegExp = / \d{3}-\d{3}-\d{4} | \( \d{3} \) \ ? \d{3}-\d{4} /x; trace(rePhonePattern2.extended) // true trace(rePhonePattern2.exec(str)); // (415)555-1212
global | propiedad |
global:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Especifica si debe utilizarse la coincidencia global para la expresión normal. Si global == true
, la propiedad lastIndex
se define después de que se encuentre una coincidencia. La próxima vez que se solicite una coincidencia, el motor de expresión normal comenzará desde la posición lastIndex
de la cadena. Utilice el indicador g
al construir una expresión normal para definir global
con el valor true
.
Implementación
public function get global():Boolean
Ejemplo ( Cómo utilizar este ejemplo )
g
(global
) en el método exec()
:
var pattern:RegExp = /foo\d/; var str:String = "foo1 foo2"; trace(pattern.global); // false trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 0 trace(pattern.exec(str)); // foo1 pattern = /foo\d/g; trace(pattern.global); // true trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 4 trace(pattern.exec(str)); // foo2
ignoreCase | propiedad |
ignoreCase:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Especifica si la expresión normal no distingue entre mayúsculas y minúsculas. Utilice el indicador i
al construir una expresión normal para definir ignoreCase = true
.
Implementación
public function get ignoreCase():Boolean
Ejemplo ( Cómo utilizar este ejemplo )
i
(ignoreCase
):
var pattern:RegExp = /bob/; var str:String = "Bob bob"; trace(pattern.ignoreCase); // false trace(pattern.exec(str)); // bob pattern = /bob/i; trace(pattern.ignoreCase); // true trace(pattern.exec(str)); // Bob
lastIndex | propiedad |
lastIndex:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Especifica la posición de índice de la cadena en la que debe comenzar la siguiente búsqueda. Esta propiedad afecta a los métodos exec()
y test()
de la clase RegExp. Sin embargo, los métodos match()
, replace()
y search()
de la clase String no tienen en cuenta la propiedad lastIndex
y comienzan todas las búsquedas desde el principio de la cadena.
Si el método exec()
o test()
encuentran una coincidencia y el indicador g
(global
) está definido como true
para la expresión normal, el método establece automáticamente la propiedad lastIndex
con la posición de índice del carácter situado después del último carácter de la subcadena coincidente en la última coincidencia. Si el indicador g
(global
) se define como false
, el método no define la propiedad lastIndex
.
Puede definir la propiedad lastIndex
para ajustar la posición de inicio en la cadena para la comparación con la expresión normal.
Implementación
public function get lastIndex():Number
public function set lastIndex(value:Number):void
Ejemplo ( Cómo utilizar este ejemplo )
lastIndex
y se muestra cómo se actualiza tras una llamada al método exec()
en una expresión normal en la que el indicador g
(global
) está definido:
var pattern:RegExp = /\w\d/g; var str:String = "a1 b2 c3 d4"; pattern.lastIndex = 2; trace(pattern.exec(str)); // b2 trace(pattern.lastIndex); // 5 trace(pattern.exec(str)); // c3 trace(pattern.lastIndex); // 8 trace(pattern.exec(str)); // d4 trace(pattern.lastIndex); // 11 trace(pattern.exec(str)); // null
multiline | propiedad |
multiline:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Especifica si está definido el indicador m
(multiline
). Si está definido, el símbolo de intercalación (^
) y el símbolo del dólar ($
) de una expresión normal coinciden antes y después de las nuevas líneas. Utilice el indicador m
al construir una expresión normal para definir multiline = true
.
Implementación
public function get multiline():Boolean
Ejemplo ( Cómo utilizar este ejemplo )
m
(multiline
):
var pattern:RegExp = /^bob/; var str:String = "foo\n" + "bob"; trace(pattern.multiline); // false trace(pattern.exec(str)); // null pattern = /^bob/m; trace(pattern.multiline); // true trace(pattern.exec(str)); // bob
source | propiedad |
source:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Especifica la parte del patrón de la expresión normal.
Implementación
public function get source():String
Ejemplo ( Cómo utilizar este ejemplo )
source
de dos expresiones normales:
var re1:RegExp = /aabb/gi; trace (re1.source); // aabb var re2:RegExp = new RegExp("x+y*", "i"); trace(re2.source); // x+y*
RegExp | () | Información sobre |
public function RegExp(re:String, flags:String)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Le permite construir una expresión normal a partir de dos cadenas. Una cadena define el patrón de la expresión normal, mientras que la otra define los indicadores utilizados en la expresión normal.
Parámetrosre:String — El patrón de la expresión normal (también se conoce como la cadena constructora). Esta es la parte principal de la expresión normal (la parte que va entre los caracteres "/").
Notas:
| |
flags:String — Los modificadores de la expresión normal. Pueden ser los siguientes:
Los demás caracteres de la cadena |
exec | () | método |
AS3 function exec(str:String):Object
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Realiza una búsqueda de la expresión normal en la cadena str
en cuestión.
Si el indicador g
(global
) no está definido para la expersión normal, la búsqueda comienza al principio de la cadena (en la posición de índice 0); la búsqueda omite la propiedad lastIndex
de la expersión normal.
Si el indicador g
(global
) está definido para la expresión normal, la búsqueda comienza en la posición de índice especificada por la propiedad lastIndex
de la expresión normal. Si la búsqueda coincide con una subcadena, la propiedad lastIndex
cambia para que se corresponda con la posición del final de la coincidencia.
Parámetros
str:String — La cadena que se va a buscar.
|
Object — Si no hay ninguna coincidencia, el valor es null ; en caso contrario, el valor es un objeto con las siguientes propiedades:
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
g
(global
) no está definido para la expresión normal, puede utilizar exec()
para buscar la primera coincidencia en la cadena:
var myPattern:RegExp = /(\w*)sh(\w*)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); trace(result);
El objeto result
se establece de la siguiente forma:
-
result[0]
se define en"She"
(la coincidencia completa). -
result[1]
se establece como una cadena vacía (el primer grupo entre paréntesis coincidente). -
result[2]
se establece como"e"
(el segundo grupo entre paréntesis coincidente). -
result.index
se define con el valor 0. -
result.input
se define como la cadena de entrada:"She sells seashells by the seashore"
.
En el ejemplo siguiente, el indicador g
(global
) está definido en la expresión normal, de manera que puede utilizar exec()
repetidamente para localizar varias coincidencias:
var myPattern:RegExp = /(\w*)sh(\w*)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); while (result != null) { trace ( result.index, "\t", result); result = myPattern.exec(str); }
Este código da como resultado la salida siguiente:
0 She,,e
10 seashells,sea,ells
27 seashore,sea,ore
test | () | método |
AS3 function test(str:String):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Comprueba la coincidencia de la expresión normal con la cadena str
en cuestión.
Si el indicador g
(global
) no está definido para la expersión normal, la búsqueda comienza al principio de la cadena (en la posición de índice 0); la búsqueda omite la propiedad lastIndex
de la expersión normal.
Si el indicador g
(global
) está definido para la expresión normal, la búsqueda comienza en la posición de índice especificada por la propiedad lastIndex
de la expresión normal. Si la búsqueda coincide con una subcadena, la propiedad lastIndex
cambia para que se corresponda con la posición del final de la coincidencia.
Parámetros
str:String — La cadena que se va a comprobar.
|
Boolean — Si hay una coincidencia, devuelve el valor true ; de lo contrario, devuelve false .
|
Ejemplo ( Cómo utilizar este ejemplo )
test()
en una expresión normal en la que se define el indicador g
(global
):
var re1:RegExp = /\w/g; var str:String = "a b c"; trace (re1.lastIndex); // 0 trace (re1.test(str)); // true trace (re1.lastIndex); // 1 trace (re1.test(str)); // true trace (re1.lastIndex); // 3 trace (re1.test(str)); // true trace (re1.lastIndex); // 5 trace (re1.test(str)); // false
informalizeGreeting()
simplemente sustituye la palabra Hello
por Hi
, sin tener en cuenta las mayúsculas ni las minúsculas. También elimina el apellido del nombre en la cadena (siempre y cuando el nombre coincida con el patrón especificado). En los métodos validateEmail()
y validatePhoneNumber()
, se comprueba la cadena transferida para ver si su patrón coincide con el de alguna dirección de correo electrónico válida o con el de un número de teléfono concreto. Los métodos devuelven valores Boolean en función de los resultados.
package { import flash.display.Sprite; public class RegExpExample extends Sprite { public function RegExpExample() { var formalGreeting:String = "Hello, John Smith."; trace(informalizeGreeting(formalGreeting)); // Hi, John. var validEmail:String = "name@domain.com"; trace(validateEmail(validEmail)); // true var invalidEmail:String = "foo"; trace(validateEmail(invalidEmail)); // false var validPhoneNumber:String = "415-555-1212"; trace(validatePhoneNumber(validPhoneNumber)); // true var invalidPhoneNumber:String = "312-867-530999"; trace(validatePhoneNumber(invalidPhoneNumber)); // false } private function informalizeGreeting(str:String):String { var pattern:RegExp = new RegExp("hello, (\\w+) \\w+", "i"); return str.replace(pattern, "Hi, $1"); } private function validateEmail(str:String):Boolean { var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; var result:Object = pattern.exec(str); if(result == null) { return false; } return true; } private function validatePhoneNumber(str:String):Boolean { var pattern:RegExp = /^\d{3}-\d{3}-\d{4}$/; var result:Object = pattern.exec(str); if(result == null) { return false; } return true; } } }
Tue Jun 12 2018, 02:12 PM Z