我試圖讓任何以@開頭的單詞,例如「@word」,但只能得到「單詞」的值。防止正則表達式組包含前一個字符?
我的示例文本是:
@bob asodija qwwiq qwe @john @cat [email protected]
我現在的正則表達式是:
/\[email protected](\w+)/gi
這完美的作品,除了 「@」 仍然被抓獲。這場比賽的輸出是:
"@bob"
"@john"
"@cat"
我已經嘗試在後向引用中設置@,但其仍然包括結果中的@。
/\B(?:@)(\w+)/gi
僅供參考,它不*捕獲*,它*消耗*它。一個非捕獲組只允許你分組事件,而不必爲該比賽的那一部分分配一個單獨的「句柄」。它仍然是整體比賽的一部分,這就是你所看到的。 *沒有*消費它匹配的唯一類型(至少在JavaScript中)是前瞻性的 - 例如。 '(?= ...)'。 –