Exec é um método de expressões regulares, não um método de cordas, e seus parâmetros são strings, como mostrado abaixo:
var re = novo regexp (// d/); re.exec ("abc4def"); // ou use o estilo perl: //d/.exec ("abc4def"); // correspondência é o método fornecido pela classe String. Seus parâmetros são objetos de expressão regular. O uso a seguir está correto: "abc4def" .match (/d);Exec e Match Return Arrays
Se a expressão regular que executar o método EXEC não estiver agrupada (sem colchetes), se houver uma correspondência, ele retornará uma matriz com apenas um elemento, e o único elemento dessa matriz é a primeira sequência que a expressão regular corresponde; Se não houver correspondência, ele retornará nulo.
As duas funções de alerta a seguir são as mesmas:
var str = "gato, hat"; var p =/at/; // Não há alerta de atributo G (p.exec (str)) Alert (str.match (p))
Todos estão "at". Nesse caso, o EXEC é equivalente a corresponder.
No entanto, se a expressão regular for compatível globalmente (atributo g), o código acima terá resultados diferentes:
var str = "gato, hat"; var p =/at/g; // Observe o alerta de atributo G (P.Exec (STR)) ALERTO (STR.MATCH (P))
Eles são
"no"
"AT, AT".
Como o EXEC sempre retornará apenas a primeira partida e a correspondência retornará todas as correspondências quando o atributo G for especificado regularmente.
Se um EXEC encontrar uma correspondência e contiver um grupo, a matriz retornada conterá vários elementos. O primeiro elemento é a correspondência encontrada, e os elementos subsequentes são os primeiros agrupamentos ... Segundo ... na partida (referência reversa)
O código a seguir será exibido "Cat2, em":
var str = "cat2, hat8"; var p =/c (at)/d/; alerta (p.exec (str))
O primeiro elemento é a string correspondente "CAT2", e o elemento subsequente é a correspondência "em" entre parênteses.
A função de correspondência interferirá nas seguintes condições e realizará a mesma função que o EXEC:
1. Expressão regular contém agrupamentos (colchetes)
2. Retorne a partida única
Vejamos o seguinte código:
var str = "cat2, hat8"; var p =/c (at)/d/; alerta (p.exec (str)) alerta (str.match (p))
A mensagem "CAT2, em" vai aparecer. Você acha que é muito estranho?
Resumir:
O Match é uma matriz que retorna todas as seqüências correspondentes, mas a expressão regular deve especificar o atributo G global para retornar todas as correspondências. Se o atributo G não for especificado, uma matriz com apenas um elemento será retornada.
O EXEC sempre retorna informações relacionadas à primeira partida, que retorna a matriz, incluindo a primeira string de partida, referências de todos os pacotes.
Em alguns casos, o resultado retornado pelo EXEC é o mesmo que o resultado retornado pela partida:
var str = "gato, hat"; var p =/at/; // Não há alerta de atributo G (p.exec (str)) Alert (str.match (p))
"AT" aparece
Em alguns casos, o resultado retornado pela partida é o mesmo que o resultado retornado pelo EXEC:
var str = "cat2, hat8"; var p =/c (at)/d/; alerta (p.exec (str)) alerta (str.match (p))
"Cat2, em" aparece
A análise aprofundada do artigo acima dos métodos Exec e Match em JavaScript é todo o conteúdo que compartilho com você. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.