A diferença entre o método de combinação de teste, executivo nas expressões regulares JS
teste
O teste retorna boolean para encontrar o modo de existência na sequência correspondente.
var str = "1a1b1c";
var reg = novo regexp ("1.", "");
alerta (reg.test (str));
exec
O EXEC encontra e retorna os resultados correspondentes atuais e retorna na forma de uma matriz.
var str = "1a1b1c";
var reg = novo regexp ("1.", "");
var anrr = reg.exec (str);
Se não houver modo, o ARR será nulo, caso contrário, o ARR terá sempre uma matriz de 1 comprimento e seu valor é a correspondência atual. Existem três atributos de ARR: a posição da correspondência atual do índice;
O método EXEC é afetado pelo parâmetro G. Se G for especificado, quando o EXEC for chamado na próxima vez, você começará a partir do LastIndex, que foi correspondido.
var str = "1a1b1c";
var reg = novo regexp ("1.", "");
alerta (reg.exec (str) [0]);
alerta (reg.exec (str) [0]);
As duas saídas acima são 1a. Agora veja o parâmetro especificado G:
var str = "1a1b1c";
var reg = novo regexp ("1.", "g");
alerta (reg.exec (str) [0]);
alerta (reg.exec (str) [0]);
A primeira saída 1A, a segunda saída 1b.
corresponder
Match é um método de objeto String.
var str = "1a1b1c";
var reg = novo regexp ("1.", "");
alerta (str.match (reg));
Este método é um pouco como Exec, mas: Exec é o método do objeto regexp; Há outra diferença entre os dois, que é a explicação do parâmetro G.
Se o parâmetro G for especificado, a correspondência retornará a todos os resultados por vez.
var str = "1a1b1c";
var reg = novo regexp ("1.", "g");
alerta (str.match (reg));
// alertas (str.match (reg));
Este resultado é uma matriz com três elementos, que são: 1a, 1b, 1c.
Duas funções são frequentemente usadas no JavaScript e a correspondência e o teste são frequentemente usadas em expressões regulares.
Match Exmple
Copie o código do código da seguinte forma:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = str.match (regexp);
// rs = array ('a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e');
Exemplo de teste
Copie o código do código da seguinte forma:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = regexp.test (str);
// rs = true;
Exem Exemplo
Copie o código do código da seguinte forma:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs;
While ((rs = regexp.exec (str))! = Nulo)
{{
document.write (rs);
document.write (regexp.lastindex);
document.write ("<r />");
}
Saída
------------------------------------------------------ -------------------------------------
A 1
B 2
C 3
D 4
E 5
A 27
B 28
C 29
D 30
E 31
Outro exc exmple
Copie o código do código da seguinte forma:
var regexp = /ab* /g;
var str = "abbcdefabh";
var rs;
While ((rs = regexp.exec (str))! = Nulo)
{{
document.write (rs);
document.write (regexp.lastindex);
document.write ("<r />");
}
Saída
------------------------------------------------------ -------------------------------------
ABB 3
AB 9