Gibt es eine Entsprechung von PHP's preg_match_all in Javascript? Wenn nicht, was wäre der beste Weg, um alle Übereinstimmungen eines regulären Ausdrucks in ein Array zu bringen? Ich bin bereit, jede JS-Bibliothek zu verwenden, um es einfacher zu machen.preg_match_all JS entspricht?
Antwort
Sie match
mit dem globalen Modifikator verwenden können:
>>> '1 2 3 4'.match(/\d/g);
["1", "2", "3", "4"]
John Resig über eine große Technik auf seinem Blog namens ‚Search and dont replace‘
Es funktioniert mit der JavaScript-Ersetzen-Funktion, die einen Rückruf nimmt geschrieben hat Funktion und gibt nichts zurück, um den ursprünglichen Inhalt unverändert zu lassen.
Dies kann besser sein als die Verwendung einer globalen Übereinstimmung und die Iteration über eine Reihe von Ergebnissen, insbesondere wenn Sie mehrere Gruppen erfassen.
Eine bessere Entsprechung von preg_match_all aus PHP in JS wäre die Verwendung der Funktion exec(). Dadurch können Sie auch Gruppen erfassen, mit match() können Sie das nicht tun.
Zum Beispiel möchten Sie alle Zeiten und die Anzahl in Klammern aus der Variablen myString erfassen:
var myString = "10:30 am (15 left)11:00 am (15 left)11:30 am";
var pattern = /(\d{1,2}:\d{1,2}\s?[ap]m)\s\((\d+)/gi;
var match;
while (match = pattern.exec(myString)){
console.log('Match: "' + match[0] + '" first group: -> "' + match[1] + '" second group -> ' + match[2]);
}
Der Ausgang wird sein:
Match: "10:30 am (15" first group: -> "10:30 am" second group -> 15
Match: "11:00 am (15" first group: -> "11:00 am" second group -> 15
- 1. Angular JS Filter entspricht
- 2. PHP preg_match_all PHP Code
- 3. php preg_match_all Syntax/regex
- 4. preg_match_all finde eine Wortkette
- 5. preg_match_all in einfache Array
- 6. preg_match_all wird komisch
- 7. php preg_match_all Probleme
- 8. PHP preg_match_all Regex Ausdruck
- 9. preg_match in preg_match_all
- 10. Mehrere Wildcard preg_match_all PHP
- 11. PHP preg_match_all Problem
- 12. Extrahierung Links preg_match_all Verwendung
- 13. preg_match_all verwirrend fehlgeschlagen
- 14. PHP preg_match_all leer zurückkehren
- 15. Knoten js JQuery Ajax json_encode entspricht
- 16. Extrahieren Unicode-String mit preg_match_all()
- 17. PHP preg_match_all, überprüfen und explodieren
- 18. Extrahierung spezifische Links PHP preg_match_all
- 19. PHP preg_match_all passt nicht alles
- 20. bekommen Schlüssel zum Wert in js Objekt entspricht
- 21. Warum PHP-Funktion str_word_count() gibt unterschiedliche Anzahl von js entspricht?
- 22. Was entspricht Underscore js _.unique und _.pluck in lodash?
- 23. Angular JS 'route' entspricht nicht Komponente mit% 2F (codiert '/')
- 24. JS Regex letzten zwei Ziffern entspricht den ersten beiden Ziffern
- 25. relativ einfache preg_match_all verursacht 502 Bad Gateway
- 26. Extract Schlüsselwörter/Tags aus Zeichenfolge mit preg_match_all
- 27. Erste Funktionsnamen von PHP-Datei mit preg_match_all
- 28. preg_match_all ID der URL mit Worten
- 29. UTF-8-Zeichen in preg_match_all (PHP)
- 30. preg_match_all alle Vorkommen einer Zeichenfolge zu erhalten
Ich verstehe nicht, dass die Syntax. – erm3nda
@ erm3nda ich denke **/\ d/g ** hast du nicht verstanden. Hier [Erstellen eines regulären Ausdrucks in Javascript] (https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions). –