"@word"のように@で始まる単語を取得しようとしていますが、 "word"値だけを取得しようとしています。regexグループに前の文字が含まれないようにしますか?
私のサンプルテキストは、次のとおりです。
@bob asodija qwwiq qwe @john @cat [email protected]
私の現在の正規表現は次のとおりです。
/\[email protected](\w+)/gi
これは、 "@" はまだ捕獲されていることを除いて、完璧に動作します。この一致の出力は次のとおりです:
"@bob"
"@john"
"@cat"
@をバックリファレンスに設定しようとしましたが、まだ結果に@が含まれています。
/\B(?:@)(\w+)/gi
FYI、*は@ *をキャプチャしていない*消費しています。非捕捉グループは、マッチのその部分に別の "ハンドル"を割り当てなくても、グループ化することができます。それはあなたが見ている全体的な試合の一部です。 *一致するものを消費しない(少なくともJavaScriptでは少なくとも)グループの唯一の種類は先読みです。 '(?= ...)' –