Regex Motif - ([^=](\\s*[\\w-.]*)*$)
Java Regex Engine Crashing
test String - paginationInput.entriesPerPage=5
Java Regex Engine Crashing/Prendre âge (>) 2Min trouver un match. Ce n'est pas le cas pour les entrées de test suivantes:
paginationInput=5
paginationInput.entries=5
Mon exigence est de mettre la main sur la chaîne du droite de =
et le remplacer par quelque chose. Le motif ci-dessus le fait bien sauf pour l'entrée mentionnée ci-dessus.
Je veux comprendre pourquoi l'erreur et comment puis-je optimiser le Regex pour mes besoins afin d'éviter d'autres cas particuliers.
regex semble trop lourde, avez-vous pensé à utiliser testString.split ("=") sur chaque ligne de ce fichier et à vérifier cette longueur == 2? Cela retournera un tableau et le second élément sera le côté droit du = –
C'est la manière brute de le faire. Je le laisse comme dernier recours. – kaychaks
Il y a trop de retour arrière autorisé dans votre regex, vous risquez donc d'avoir des débordements de pile si cela ne correspond pas rapidement. Essayez d'éviter d'imbriquer * s, ou voyez si vous pouvez les rendre possessifs - vous voulez l'aider à échouer plus rapidement. – CurtainDog