快速。我有一個字符串:#user 9#I'm alive!
,我想要拔出「用戶9」。Javascript正則表達式英鎊符號之間的匹配
到目前爲止Im做:
if(variable.match(/\#/g)){
console.log(variable):
}
但產出仍全線。
快速。我有一個字符串:#user 9#I'm alive!
,我想要拔出「用戶9」。Javascript正則表達式英鎊符號之間的匹配
到目前爲止Im做:
if(variable.match(/\#/g)){
console.log(variable):
}
但產出仍全線。
使用.split()
,爲了拉出你想要的物品。
var variable = variable.split("#");
console.log(variable[1]);
.split()
將您的字符串轉換成一個陣列,其中所述第一可變作爲分隔符。
當然,如果你只是想單純的正則表達式,你可以這樣做:
console.log(variable.match(/([^#]+)/g));
這將再次給你的項目的數組,而是一個較小的一個,因爲它之前沒有使用空值散列作爲一個項目。此外,正如@Stephen P所述,您需要使用捕獲組(()
)來捕獲所需的項目。
嘗試沿着這些路線的東西更多...
var thetext="#user 9#I'm alive!";
thetext.match(/\#([^#]+)\#/g);
你希望引入捕獲組(括號的部分)來收集文字的井號之間。
您可能想要使用.exec()
而不是.match()
,具體取決於您在做什麼。 另請參閱this answer至SO問題「如何訪問javascript正則表達式中的匹配組?」