Hallo,
var str = "Alex kennt Anita";
str = str.replace(/\b(A)/g, '<span class="first-letter">$1</span>');
Stimmt, \b hätte ich gesucht. Danke für die Korrektur. Bei \W müsste man mit (^|\W) arbeiten, das ist unnötig umständlich.
Vielleicht kann man darauf hinweisen, dass sowohl \b und \B als auch \w und \W Wörter bestehend aus a-z, a-Z, 0-9 und dem Unterstrich \_ erkennen. D.h. bei Umlauten wird das nicht korrekt funktionieren:
/\b(Ä)/.exec("Älex kennt Änita") -> null, sollte Treffer finden.
Wenn es sich um einen Fließtext handelt, in dem das Wort gefunden werden soll, kann man vielleicht negativ arbeiten:
/(^|[\s,.;-])(Ä)/
findet alle »ä«, die am Textanfang stehen oder vor denen Weißraum oder Interpunktion steht.
Mathias