Thread Regex, nach einer Zeichenanzahl und dann wenn das Wort zuende ist (2 answers)
Opened by Gustl at 2011-08-13 13:50

moritz
 2011-08-13 14:37
#151557 #151557
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Wenn die Regex vorne nichts abschneiden soll, musst du sie mit einem ^ vorne verankern.

Dann matcht sie allerdings nicht, wenn nach $i Zeichen ein Leerzeichen oder ein Komma kommt, denn sie muss ja mindestens ein \w matchen. Das kannst du beheben, wenn du das \w+ zu einem \w* machst.

Damit erlaubst du dann das Kürzen nach einem Satzzeichen. Wenn du wirklich nur direkt nach einem Wortende abschneiden willst, hilft dir diese Regex:

Code: (dl )
/^(.{$i,}?)(?<=\w)\b/


Das sucht nach mindestens $i Zeichen (und möglichst wenig), und dort wie die Sequenz aufhört muss das vorherige Zeichen ein word-character sein, gefolgt von einer word boundary (\b).

View full thread Regex, nach einer Zeichenanzahl und dann wenn das Wort zuende ist