Wie suche ich in regulären Ausdrücken nach Übereinstimmungen, die mit einem @-Symbol beginnen? Das Symbol darf nicht mitten in einem Wort stehen (Link in einer E-Mail-Adresse).
Zum Beispiel eine Zeichenfolge, die so aussieht:
@someone's email is blah@gmail.com and @someoneelse wants to send an email.
Der Ausdruck, den ich verwenden würde, ist/^@[\w]/g
Es sollte zurückkehren:
@someone's
@someoneelse
Der von mir verwendete Ausdruck scheint nicht zu funktionieren.
Lösung des Problems
Sie können verwenden, \B
was eine Nicht-Wort-Grenze ist und die negierte Version von ist \b
.
var s = "@someone's email is blah@gmail.com and @someoneelse wants to send an email.",
r = s.match(/\B@\S+/g);
console.log(r); //=> [ '@someone\'s', '@someoneelse' ]
Комментариев нет:
Отправить комментарий