Ist es trotzdem, ein Regex-Muster zu bekommen, um die Suche nach einem Spiel automatisch zu stoppen. Ich möchte die Regex-Suche zu einem Webdienst hinzufügen, den ich erstellen möchte, aber ich möchte nicht, dass jemand eine Regex ausführen kann, die lange dauern würde, nur eine Übereinstimmung ist gut genug. Ist das möglich?Wie Regex-Matching nach 1 Übereinstimmung zu stoppen, ohne nicht-gierige Zeichen
1
A
Antwort
0
Die wirklich schlechten degenerierten Muster passen nie zusammen. Und wenn Sie einen guten Weg finden, die degenerierten Fälle zu finden, werden Sie wahrscheinlich eine lot of money fällig sein. Sie sind wahrscheinlich besser dran mit einer Zeitüberschreitung. In Perl würde ich alarm
kombiniert mit einem Block eval
verwenden.
Sie können auch nach (*COMMIT) in Perl suchen, die Backtracking verhindert.
1
Sie könnten immer noch mit einer langen laufenden Regex enden, sogar mit einem begrenzenden Quantifizierer.
Die Implementierung einer unterbrechbaren Funktion wie this thread ist eine weitere Option.
Verwandte Themen
- 1. Aggregierte Abfrage ohne $ Übereinstimmung
- 2. Wie foreach% dopar% zu stoppen, ohne die Sitzung zu verkomplizieren
- 3. MySQL select b'1' gibt ganze Zahl 1 oder ASCII-Zeichen 1 je nach Umgebung
- 4. Begriff ohne alphanumerische Zeichen vor oder nach
- 5. ScheduledExecutorService, wie Sie die Aktion stoppen, ohne den Executor zu stoppen?
- 6. Wie zu stoppen NSTimer.scheduledTimerWithTimeInterval
- 7. Wie Stoff zu stoppen
- 8. Wie wird 'Übereinstimmung' in Haskells FGL als O (1) implementiert?
- 9. wie man gdb Verbindung schließt, ohne laufende Programm zu stoppen
- 10. wie man das Fragment ändert, ohne TimerTask zu stoppen. Android
- 11. Wie Grunt zu stoppen
- 12. android, wie gps zu stoppen
- 13. Fehler: ungültige Multibyte-Zeichen in Parser in Zeile 1 und stoppen
- 14. Geht regexp's beliebiges Zeichen Übereinstimmung Newline
- 15. Sortieren nach Maximale Bedingung Übereinstimmung
- 16. Windows Media-Server nicht stoppen nach 1 Datei aus der Liste zu spielen
- 17. Wie zu stoppen Docker ziehen
- 18. Benutzereingabe nach bestimmter Eingabe stoppen?
- 19. Wie kann man das Debugging stoppen (oder den Prozess trennen), ohne den Prozess zu stoppen?
- 20. Wie kann ich die Konvertierung von Zeichen in Faktoren stoppen?
- 21. Wie die Ausführung der Abfrage nach Timeout zu stoppen
- 22. Wie Sudo zu stoppen Edelsteine zu stoppen. Die ultimative Lösung
- 23. Beide für & jede Schleifen stoppen nach der ersten Übereinstimmung beim Iterieren durch einen Hash in Ruby
- 24. AVAudioSession nach AVSpeechUtterance dauerhaft stoppen
- 25. hello.go: 1: 1: unzulässiges Zeichen U + 0023
- 26. Wie "unterbrechungsfreie" Prozess unter Linux zu stoppen?
- 27. Stoppen einer for-Schleife ohne Pause
- 28. „ungültiges Zeichen‚1‘nach dem Top-Level-Wert“ Unmarshalling JSON
- 29. Wie zu verwenden Wie zu prüfen, ob eine Übereinstimmung existiert
- 30. mod_rewrite Bearbeitung nach spezifischer Regel stoppen
Ist nicht Ihr Worst-Case-Szenario jemand, der eine komplexe Regex erstellt, die KEINE Übereinstimmungen hat? Es scheint, als ob Sie besser mit einem anderen Mechanismus arbeiten, um Regex-Suchen von der Laufzeit zu verhindern. Alternativ sollten Sie herausfinden, ob Regex tatsächlich ein erheblicher potenzieller Engpass ist, bevor Sie es voroptimieren – Jherico