2012-07-04 84 views

回答

2

您的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 (''). 這只是得到第一個出現,因爲它的開始標記^它必須在字符串的開始。

1

正則表達式是兩個正斜槓之間的文本,第一個克拉(^)表示字符串開頭,括號表示字符類,括號內的克拉表示除逗號之外的任何字符,然後右括號後的星號表示匹配零個或多個由字符類定義的字符(它再次是除逗號之外的任何字符),然後最後一個逗號表示在所有這些之後匹配逗號。然後在替換函數中使用它,以便在您的情況下將匹配結果替換爲第二個參數:空字符串。

基本上它與'content'變量中的第一個逗號匹配幷包含第一個逗號,然後用空字符串替換它。

+0

是它必須放在之間的兩個正斜槓的表達? –

+0

對於正則表達式是的。JavaScript替換函數也接受純字符串,所以正斜槓信號表明您想使用正則表達式執行匹配。如果這是有道理的.. – dano

2

您需要知道的第一件事是JavaScript中有正則表達式文字,由斜線對構成。所以像"..."是一個字符串,/.../是一個正則表達式。這實際上是您的代碼與Java正則表達式相比唯一的區別。

然後,在正則表達式中的[abc]被稱爲字符類,意思是「a,bc中的一個字符」。相反,[^abc]是否定字符類別,意爲「除a,bc」之外的一個字符「。

所以你的樣品是指:

/  # 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 
+0

感謝您的回答蒂姆。它確實有幫助 –

相關問題