我有一個自動完成的用戶標記系統,它填寫@符號後面的用戶名。但是,我有這個問題,我有兩個用戶匹配的子字符串。例如:在正則表達式中替換上次匹配
Tagging @billy and @b
當用戶用名爲(例如)@brendan的用戶填寫@b標記時,它將替換@billy標記。我如何倒退並只更換最後一個標籤?
編輯:這是我目前的解決方案,但感覺很爛。有沒有辦法只用RegEx來做到這一點?:
function tagUser (chosenUsername) {
var userRegex = new RegExp('(^|\\s)@([' + lastUserTag() + ']*)$', 'gi');
var caption = $("#example").val();
var match = caption.match(userRegex);
var lastMatch = match[match.length - 1];
$("#example").val(caption.replace(lastMatch, " @" + chosenUsername));
}
您能告訴我們替換的代碼嗎? – 2013-03-27 20:35:44
@ExplosionPills done – AlexQueue 2013-03-27 20:41:52