這是我的字符串:如何提取兩個字符之間的字符串?
[email protected]
[email protected]
[email protected]
我想要做的就是提取180,從這些字符串360和480。
我試過這個RegEx _(.*)@
但沒機會。
這是我的字符串:如何提取兩個字符之間的字符串?
[email protected]
[email protected]
[email protected]
我想要做的就是提取180,從這些字符串360和480。
我試過這個RegEx _(.*)@
但沒機會。
你只是想要捕獲組:
var str = '[email protected]';
var substr = str.match(/_(\d*)@/);
if (substr) {
substr = substr[1];
console.log(substr);
}
//outputs 180
如果不匹配,它也會拋出一個'TypeError'(不能讀取'null'的屬性1)。 – Marty
參見編輯 - 如果懷疑字符串將包含substr,只需先檢查匹配項,然後選擇捕獲組。 – sideroxylon
你幾乎得到了它
_(\d{3})@
你需要做的數字匹配,否則該字符串將還得到因爲其他下劃線的選擇。
Ofcourse你的對手將是\1
試試這個
var str = "[email protected]";
var matches = str.match(/_\[email protected]/).map(function(value){return value.substring(1,value.length-1);});
document.body.innerHTML += JSON.stringify(matches,0,4);
試試這個:
(? < = (?!。*))(。*)(?= @)
使用回顧後(?< =)和向前看(?=),使 「_」 和 「@」 不包括在內在比賽中。
(?!。*)得到「_」的最後一次出現。
(。*)匹配最後一次出現「_」和「@」之間的所有內容。
我希望它有幫助。
也許這樣:'_(\ d *)@' - 它總是一個數字字符串? – sideroxylon
是的。但是這個也包括_和@個字符。如果你也可以擺脫他們,爲什麼你不發佈答案? :) – scaryguy