Con respecto al problema de la división de prueba de cadena en expresiones regulares, generalmente tenemos dos métodos: test () y exec (). No explicaré la diferencia entre estos dos métodos. Lo principal es que Test () devuelve un valor booleano y exec () devuelve una matriz de caracteres coincidentes. Sin embargo, hoy encontré un problema. El programa es muy simple, pero el problema dentro me hace incapaz de entender. No encontré las respuestas en línea (comparadas personalmente).
La copia del código es la siguiente:
Var Pattern = new Regexp ("Match", "IG");
alerta (Pattern.Test ("Match"));
alerta (Pattern.exec ("Match"));
El valor de la primera alerta () es cierto como se esperaba
Pero el segundo valor de prueba es inesperadamente nulo
No sé cuál es el principio sobre esta pregunta, porque no vi el código fuente de la función. Si un amigo puede señalarlo, ¡estoy agradecido! !