使用此代碼擺脫擺脫MIME類型的rawdata.but我不明白它是如何工作有人可以幫助解釋JavaScript中的這個正則表達式嗎?
content.replace(/^[^,]*,/ , '')
似乎從Java完全不同....任何幫助將不勝感激。
使用此代碼擺脫擺脫MIME類型的rawdata.but我不明白它是如何工作有人可以幫助解釋JavaScript中的這個正則表達式嗎?
content.replace(/^[^,]*,/ , '')
似乎從Java完全不同....任何幫助將不勝感激。
您的mime類型可能由逗號,
和您的原始數據的開頭分隔。 這個正則表達式說take everything from the beginning (^) that is NOT a comma ([^,]*) (the star makes it as many characters until there is a comma) and take the comma itself (,). Then replace it by nothing ('').
這只是得到第一個出現,因爲它的開始標記^它必須在字符串的開始。
正則表達式是兩個正斜槓之間的文本,第一個克拉(^)表示字符串開頭,括號表示字符類,括號內的克拉表示除逗號之外的任何字符,然後右括號後的星號表示匹配零個或多個由字符類定義的字符(它再次是除逗號之外的任何字符),然後最後一個逗號表示在所有這些之後匹配逗號。然後在替換函數中使用它,以便在您的情況下將匹配結果替換爲第二個參數:空字符串。
基本上它與'content'變量中的第一個逗號匹配幷包含第一個逗號,然後用空字符串替換它。
您需要知道的第一件事是JavaScript中有正則表達式文字,由斜線對構成。所以像"..."
是一個字符串,/.../
是一個正則表達式。這實際上是您的代碼與Java正則表達式相比唯一的區別。
然後,在正則表達式中的[abc]
被稱爲字符類,意思是「a
,b
或c
中的一個字符」。相反,[^abc]
是否定字符類別,意爲「除a
,b
或c
」之外的一個字符「。
所以你的樣品是指:
/ # Start of regex literal
^ # Start the match at the start of the string
[^,]* # Match any number of characters except commas
, # Match a comma
/ # End of regex literal
感謝您的回答蒂姆。它確實有幫助 –
是它必須放在之間的兩個正斜槓的表達? –
對於正則表達式是的。JavaScript替換函數也接受純字符串,所以正斜槓信號表明您想使用正則表達式執行匹配。如果這是有道理的.. – dano