La diferencia entre el método de prueba, ejecutivo, coincidencia en expresiones regulares JS
prueba
La prueba devuelve boolean para encontrar el modo de existencia en la cadena correspondiente.
var str = "1a1b1c";
var reg = new Regexp ("1.", "");
alerta (reg.test (str));
ejecución
EXEC encuentra y devuelve los resultados de coincidencia actuales y devuelve en forma de una matriz.
var str = "1a1b1c";
var reg = new Regexp ("1.", "");
var anrr = reg.exec (str);
Si no hay modo, ARR es nulo, de lo contrario ARR siempre es una matriz de 1 longitud, y su valor es la coincidencia actual. Hay tres atributos de ARR: la posición de la coincidencia actual del índice;
El método EXEC se ve afectado por el parámetro G. Si se especifica G, cuando se llama a Exec la próxima vez, comenzará desde LastIndex, que coincidió.
var str = "1a1b1c";
var reg = new Regexp ("1.", "");
alerta (reg.exec (str) [0]);
alerta (reg.exec (str) [0]);
Las dos salidas anteriores son 1A. Ahora mire el parámetro especificado G:
var str = "1a1b1c";
var reg = new Regexp ("1.", "g");
alerta (reg.exec (str) [0]);
alerta (reg.exec (str) [0]);
La primera salida 1A, la segunda salida 1B.
fósforo
Match es un método de objeto de cadena.
var str = "1a1b1c";
var reg = new Regexp ("1.", "");
alerta (str.match (reg));
Este método es un poco como exec, pero: exec es el método del objeto regexp; Hay otra diferencia entre los dos, que es la explicación del parámetro G.
Si se especifica el parámetro G, la coincidencia volverá a todos los resultados a la vez.
var str = "1a1b1c";
var reg = new Regexp ("1.", "g");
alerta (str.match (reg));
// Alertas (str.match (reg));
Este resultado es una matriz con tres elementos, que son: 1a, 1b, 1c.
A menudo se usan dos funciones en JavaScript, y la coincidencia y la prueba a menudo se usan en expresiones regulares.
Match Exmple
Copiar código del código de la siguiente manera:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = str.match (regexp);
// rs = array ('a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e');
Ejemplo de prueba
Copiar código del código de la siguiente manera:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = regexp.test (str);
// rs = verdadero;
Ejemplo
Copiar código del código de la siguiente manera:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs;
While ((rs = regexp.exec (str))! = Null)
{{
document.write (RS);
document.write (regexp.lastIndex);
document.write ("<Br />");
}
Producción
-------------------------------------------------- -----------------------------------
A 1
B 2
C 3
D 4
E 5
Un 27
B 28
C 29
D 30
E 31
Otro Exmple
Copiar código del código de la siguiente manera:
var regexp = /ab* /g;
var str = "abbcdefabh";
var rs;
While ((rs = regexp.exec (str))! = Null)
{{
document.write (RS);
document.write (regexp.lastIndex);
document.write ("<Br />");
}
Producción
-------------------------------------------------- -----------------------------------
ABB 3
AB 9