| Paquete | Nivel superior |
| Clase | public dynamic class RegExp |
| Herencia | RegExp Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
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 más información, consulte "Utilización de expresiones normales" en Programación con ActionScript 3.0.
Véase también
| 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
[read-only]
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
[read-only]
Especifica si debe utilizarse el modo ampliado para la expresión normal.
| RegExp | ||
| global : Boolean
[read-only]
Especifica si debe utilizarse la coincidencia global para la expresión normal.
| RegExp | ||
| ignoreCase : Boolean
[read-only]
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
[read-only]
Especifica si está definido el indicador m (multiline).
| RegExp | ||
![]() | prototype : Object
[static]
Una referencia al objeto prototipo de una clase u objeto de función.
| Object | |
| source : String
[read-only]
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 del objeto especificado.
| Object | |
![]() |
Devuelve el valor simple del objeto especificado.
| Object | |
| dotall | propiedad |
dotall:Boolean [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
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.
public function get dotall():Boolean
Véase también
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 [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
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.
public function get extended():Boolean
Véase también
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 [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
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.
public function get global():Boolean
Véase también
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 [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | 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.
public function get ignoreCase():Boolean
Véase también
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 [read-write]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
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.
public function get lastIndex():Number
public function set lastIndex(value:Number):void
Véase también
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 [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
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.
public function get multiline():Boolean
Véase también
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 [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica la parte del patrón de la expresión normal.
public function get source():String
Véase también
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 | () | constructor |
public function RegExp(re:String, flags:String)
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | 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 |
Véase también
| exec | () | método |
AS3 function exec(str:String):Object
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
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 expresió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 expresió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:
|
Véase también
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 |
| Versión del reproductor: | Flash Player 9 |
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.
|
Véase también
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;
}
}
}
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/ActionScriptLangRefV3/RegExp.html