regulären Ausdruck zu entfernen, das erste Wort jeder Zeile
Ich versuche einen regulären Ausdruck, der packt das erste Wort (einschließlich möglicher führender white space) in jeder Zeile. Hier ist es:
/^([\s]+[\S]*).*$/\1//
Dieser code scheint nicht zu funktionieren (siehe http://regexr.com?34o6m). Der code soll
- Beginnen am Anfang der Zeile
- Erstellen Sie eine Aufnahme-Gruppe, wo es Orte das erste Wort (mit möglichen führenden Leerzeichen)
- Schnappen Sie sich den rest der Zeile
- Ersetzen Sie die gesamte Zeile mit nur die innerhalb der ersten capturing group
Versuchte ich eine andere version auch:
/\S(?<=\s).*^//
Sieht es aus wie dieser Ausfall zu (http://regexr.com?34o6s). Das Ziel war es, die hier
- Finde das erste nicht-whitespace-Zeichen.
- Blick hinter um sicherzustellen, dass es hat ein Leerzeichen dahinter (also nicht den ersten Buchstaben der Zeile).
- Schnappen Sie sich den rest der Zeile.
- Löschen alles, was der Ausdruck genau ergriff.
Jeder Einblick auf das, was schief geht, wäre sehr dankbar. Danke!
- Wenn die führenden whitespace-Zeichen ist nur dann möglich, sollten Sie ein Sternchen, das kein plus, nach dem ersten [\s]
- Vielleicht verwenden Sie das Wort-Grenze-Ding, etwa so: /^([\s]*.?[\b]).*/ (nicht getestet, und ich bezweifle, dass es wird funktionieren wie es ist, aber ich werde weiter daran gearbeitet)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie verwechseln Ihre
+
und*
.Dies bedeutet null oder mehr Leerzeichen, gefolgt durch ein oder mehrere nicht-Leerzeichen.
Vielleicht wollen Sie auch zu verwenden
$1
statt\1
:\s
und\S
innerhalb von Klammern.Versuchen dieser reguläre Ausdruck
Demo: gskinner
\s
aus der Gruppe ex^(\s*.*?)\s.*
regexr.com?34o75Okay, gut, das scheint zu funktionieren mit
replace()
in Javascript:Getestet habe ich es auf http://www.altastic.com/regexinator, die, soweit ich weiß, ist genau [ich schaffte es zwar, es kann also nicht sein 😉 ]
entfernen Sie die beiden ersten Wörter
@"^.Sternchen? .Sternchen? "
dies funktioniert für mich
veröffentlicht werden, wird der Stern nicht angezeigt. keine Ahnung.
wenn Sie möchten, entfernen Sie das erste Wort, starten Sie einfach die regex wie folgt
ein dot Zeichen
ein Sternchen-Zeichen
ein Fragezeichen
ein Raum
ersetzen mit:""