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

  1. Beginnen am Anfang der Zeile
  2. Erstellen Sie eine Aufnahme-Gruppe, wo es Orte das erste Wort (mit möglichen führenden Leerzeichen)
  3. Schnappen Sie sich den rest der Zeile
  4. 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

  1. Finde das erste nicht-whitespace-Zeichen.
  2. Blick hinter um sicherzustellen, dass es hat ein Leerzeichen dahinter (also nicht den ersten Buchstaben der Zeile).
  3. Schnappen Sie sich den rest der Zeile.
  4. 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)
InformationsquelleAutor elju | 2013-05-02
Schreibe einen Kommentar