Ich habe den folgenden Text = "superilustrado e de capa dura?", Und ich möchte alle Leerzeichen zwischen Wörtern im Text finden. Ich verwende den folgenden Ausdruck = [\\p{L}[:punct:]][[:space:]][\\p{L}[:punct:]]
. Der Ausdruck funktioniert gut, aber er kann den Raum zwischen den "e de" finden. Weiß jemand, was das Problem mit meinem regulären Ausdruck ist?Regulärer Ausdruck, um Räume zu finden
5
A
Antwort
3
Vielleicht bin ich nicht Tracking, aber warum nicht einfach []?
13
Leerzeichen können einfach gefunden werden, indem Sie ein Leerzeichen in Ihre Regex setzen.
Whitespace kann mit \s
gefunden werden.
Wenn Sie Leerzeichen zwischen Wörtern suchen möchten, verwenden Sie den Wortgrenzenmarker \b
.
Dies würde einen einzigen Raum zwischen zwei Wörtern entsprechen.
"\b \b"
(Der Grund fehlgeschlagen Ihr Spiel ist, dass \\p{L}
den Charakter in einem Spiel enthält Weil e
nur ein Zeichen ist, wird es durch die aufgegessen vorherige Spiel und nicht für den Raum nach e
angepasst werden kann. \b
vermeidet dieses Problem, weil es eine Null-Breite Übereinstimmung vorhanden ist.)
0
// Setup
var testString = "How many spaces are there in this sentence?";
// Only change code below this line.
var expression = /\s+/g; // Change this line
// Only change code above this line
// This code counts the matches of expression in testString
var spaceCount = testString.match(expression).length;
Verwandte Themen
- 1. Regulärer Ausdruck zu finden System.out.print
- 2. Regulärer Ausdruck, um das letzte Wort im Satz zu finden
- 3. Regulärer Ausdruck, um durch Leerzeichen getrennte Wörter zu finden
- 4. Regulärer Ausdruck, um alle Tabellennamen in einer Abfrage zu finden
- 5. Regulärer Ausdruck, um Klammern in einer Zeichenfolge zu finden
- 6. Regulärer Ausdruck, um Sozialversicherungsnummer
- 7. Regulärer Ausdruck, um Neuseeland-Telefonnummern zu validieren
- 8. Regulärer Ausdruck, um ausgewählte Spalten zu erhalten
- 9. Regulärer Ausdruck, um nur Buchstaben zu entsprechen
- 10. regulärer Ausdruck, um vollständige Übereinstimmung zu vermeiden
- 11. Regulärer Ausdruck um Dollarbeträge zu vergleichen
- 12. Python regulärer Ausdruck, um Absätze zu trennen
- 13. Ein regulärer Ausdruck, um XML zu bereinigen
- 14. Regulärer Ausdruck finden base64 innerhalb Zeichenfolge
- 15. Regulärer Ausdruck in Vim, um Gruppenerfassung
- 16. Regulärer Ausdruck zum Finden eines regulären Ausdrucks?
- 17. Regulärer Ausdruck
- 18. Regulärer Ausdruck, um eine Zeile mit bestimmten Zeichen zu finden und diese Zeile zu entfernen
- 19. Regulärer Ausdruck
- 20. Regulärer Ausdruck für Dateierweiterung
- 21. Regulärer Ausdruck Übereinstimmung
- 22. regulärer Ausdruck in Javascript?
- 23. Regulärer Ausdruck (Glob) Suchbaum
- 24. Regulärer Ausdruck xml in .net zu analysieren
- 25. Python. Regulärer Ausdruck
- 26. Regulärer Ausdruck, um XAML Binding-esque Syntax zu analysieren
- 27. Regulärer Ausdruck, um eine nummerierte Liste zu säubern
- 28. Regulärer Ausdruck, um die Zahlen in einer Datei zu ersetzen
- 29. Regulärer Ausdruck um lange Strings in mehrere Zeilen zu teilen
- 30. Ein regulärer Javascript-Ausdruck, um die Abfrage zu token
Dank, Ihre Erklärung Sinn macht. Jedoch, wenn ich den Ausdruck mit einem Text verwende, der Interpunktion hat, "Já imaginou seu filho publicarum livro de Verdade, superilustrado und de capa dura? Então, ist ein vorbereitendes Fest des lançamento destes bestseller! Seu filho vai ter um livro escrito e ilustrado por ele mesmo! ", findet es nicht alle Räume. Gibt es eine Möglichkeit, einen anderen Ausdruck aufzunehmen, der sich um Interpunktion kümmert? – Aldo
@Aldo, warum nicht einfach nach allen Leerzeichen in der Zeichenfolge suchen? Gibt es andere Leerzeichen, die nicht übereinstimmen sollen? –