J'utilise le Javascript suivant pour lire les chaînes d'un fichier texte et de les traiter avec une expression régulièreJavascript Expression régulière échoue tous les temps, il est appelé
while (!textFile.AtEndOfStream)
{
currLine = textFile.ReadLine();
match = re.exec(currLine);
do stuff with match
}
Le problème que j'ai est que tous les temps re.exec est appelé il échoue et renvoie null; Ainsi, la première ligne est traitée correctement, mais la deuxième ligne renvoie null, puis la troisième ligne fonctionne et la quatrième ligne renvoie null.
je peux utiliser le code suivant pour obtenir le résultat que je veux
while (!textFile.AtEndOfStream)
{
currLine = textFile.ReadLine();
match = re.exec(currLine);
if (match == null) match = re.exec(currLine);
}
mais qui semble un peu bidouille méchant. Quelqu'un peut-il me dire pourquoi cela arrive et ce que je peux faire pour le réparer correctement?
Andy E a la bonne solution, mais si cela vous intéresse, vous pouvez changer cette dernière ligne en 'match = match || re.exec (currLine); ' – Skilldrick
@Skilldrick: supprimé le mien, parce que la réponse de Bobince était plus complète. Maintenant, il a la bonne solution :-) –