Estoy utilizando el siguiente JavaScript para leer cadenas de un archivo de texto y procesarlos con una expresión regularJavascript expresión regular no todas las otras veces se le llama
while (!textFile.AtEndOfStream)
{
currLine = textFile.ReadLine();
match = re.exec(currLine);
do stuff with match
}
El problema que tengo es que todas las otras veces re.exec se llama falla y devuelve nulo; por lo que la primera fila se procesa correctamente, pero la segunda fila da como resultado nulo, luego la tercera fila funciona, y la cuarta fila da como resultado nulo.
que puede utilizar el código siguiente para obtener el resultado que quiero
while (!textFile.AtEndOfStream)
{
currLine = textFile.ReadLine();
match = re.exec(currLine);
if (match == null) match = re.exec(currLine);
}
pero que parece un poco de un kludge desagradable. ¿Alguien puede decirme por qué sucede esto y qué puedo hacer para solucionarlo correctamente?
Andy E tiene la solución correcta, pero en caso de que le interese, podría cambiar esa última línea para 'match = match || re.exec (currLine); ' – Skilldrick
@Skilldrick: eliminado el mío, porque la respuesta de Bobince fue más completa. Ahora él tiene la solución correcta :-) –