Ceci est probablement rapide. Pourquoi ce code ne renvoie-t-il rien?
3 Réponses :
Si vous changez le modèle en Si en fait, vous voulez seulement obtenir des jetons qui correspondent à Conseil: Si la performance est critique, vous voudrez utiliser le modèle code> des surcharges code> de ces méthodes de précompilisation de ces méthodes. P>
Conseil: Gardez à l'esprit que hasnext (modèle de chaîne) code>
ne renvoie que true code> si le jeton suivant correspond au motif. Dans votre cas,
"asda" code> est le prochain jeton, qui ne correspond pas à
"[A-Z] +" code>. La documentation est claire dans ce "[le] scanner n'auge pas d'entrée". P>
"[A-ZA-Z] +" code>, vous obtiendrez trois jetons, ce qui peut être ce que vous avez voulu. P>
"[A-Z] +" code>, vous pouvez effectuer l'une des options suivantes: p>
aiséLimiteur ("[^ a-z] +") code>, puis invoquer simplement
suivant () code> li>
Skip ("[^ A-Z] +") CODE> LI>
FindInline ("[A-Z] +") CODE> LI>
ul>
"xooo abc" code> a deux
"[A-Z] +" code> correspondance. Si ce n'est pas ce que vous voulez, le regex devra être un peu plus compliqué. Ou vous pouvez toujours simplement supprimer les jetons non correspondants. P>
Changer à p>
Si vous cherchez à imprimer toutes les mots entourés de votre délimiteur, vous voudrez peut-être être en sécurité et exclure complètement le modèle. De cette façon, vous ne rencontrez pas un mot qui contient un personnage qui ne figure pas dans votre motif, ce qui ferait la sortie de votre programme cette boucle (comme il fait actuellement). Par exemple: