我無法解析正則表達式。我已經從regexpal.com和regex101.com(通過將表達式設置爲"(?:^csrf-token|;\s*csrf-token)=(.*?)(?:;|$)"
並將測試字符串設置爲「__ngDebug = false; csrf-token = b2ssOJ4jNOlPdmXAHn4CORPvFoO4Ngsupej25tdj」)對其進行了測試。解析javascript中的正則表達式
該示例爲jsfiddle。
function getCookie(name) {
\t \t \t
var s = "__ngDebug=false; csrf-token=b2ssOJ4jNOlPdmXAHn4CORPvFoO4Ngsupej25tdj";
var regexp = new RegExp("(?:^" + name + "|;\s*"+ name + ")=(.*?)(?:;|$)", "g");
var result = regexp.exec(s);
return (result === null) ? null : result[1];
}
alert(getCookie("csrf-token"));
然而,如果s
爲"csrf-token=b2ssOJ4jNOlPdmXAHn4CORPvFoO4Ngsupej25tdj"
,然後正常工作。請告訴我什麼是錯的。
期望的輸出是"b2ssOJ4jNOlPdmXAHn4CORPvFoO4Ngsupej25tdj"
,並且沒有輸入(要測試的字符串是's')。
能否請你有點更清晰的瞭解你的期望的輸出是什麼?另外,當你說你不能「解析一個正則表達式」時,你的意思是說你不能創建一個正則表達式來達到你想要的效果? – nnnnnn 2014-12-02 04:57:50
@nnnnnn已更新 – 2014-12-02 04:59:42
如果您從字符串創建正則表達式,則需要轉義字符串中的任何反斜槓。所以''\\ s「'不是'」\ s「'。 – nnnnnn 2014-12-02 05:02:19