Em relação ao problema da divisão de teste de string em expressões regulares, geralmente temos dois métodos: test () e Exec (). Não vou elaborar a diferença entre esses dois métodos. O principal é que o teste () retorna um valor booleano e Exec () retorna uma matriz de caracteres correspondente. No entanto, hoje encontrei um problema. O programa é muito simples, mas o problema dentro me deixa incapaz de entender. Não encontrei as respostas online (comparadas pessoalmente).
A cópia do código é a seguinte:
var padrão = novo regexp ("correspondência", "ig");
alerta (padrão.test ("Match"));
alerta (padrão.exec ("Match"));
O valor do primeiro alerta () é verdadeiro como esperado
Mas o segundo valor de teste é inesperadamente nulo
Não sei qual é o princípio sobre essa questão, porque não vi o código -fonte da função. Se um amigo pode apontar, sou grato! !