我是一個Javascript垃圾評論,希望測試一些代碼。正則表達式`new RegExp(「user =」+ un +「[''\ s>]」,「i」)`如何工作?
new RegExp("user=" + un + "[\"'\\s>]", "i")
會有什麼這實際上意味着什麼呢?
這是從網站和它的實際工作!
我特別不得到[\"'\\s>]
一部分。
我是一個Javascript垃圾評論,希望測試一些代碼。正則表達式`new RegExp(「user =」+ un +「[''\ s>]」,「i」)`如何工作?
new RegExp("user=" + un + "[\"'\\s>]", "i")
會有什麼這實際上意味着什麼呢?
這是從網站和它的實際工作!
我特別不得到[\"'\\s>]
一部分。
[
和]
表示character class。基本上,它會匹配其中任何一個字符。反斜槓\
escapes special characters。所以你會看到第一個雙引號被轉義了,表明我們正在尋找值爲"
的字符,而不是僅僅使用我們的正則表達式中的"
來包裝一個值。然後考慮單引號'
,後面跟着一個反斜槓(文字 - 所以它也必須被轉義,\\
尋找一個反斜槓)。看起來原來是指示一個空格,這是\s
。然後是大於符號。
[\"'\s>]
指下列任何字符:「'空間>
因此,假設un = "abc"
你的正則表達式將匹配任何下列的:
user=abc"
user=abc'
user=abc // There is a space after abc.
user=abc>
很好的例子!而爲了完整性,由於「i」標誌被傳遞給了構造函數USER = aBc>,所以uSeR = ABc'等也都匹配。 – 2010-03-11 00:08:03
感謝您抽出時間! – 2010-03-11 00:12:58
[\"'\\s>]
代表含4事情焦炭類:一個雙引號,一個單引號,一個\s
和一個>
,它與這四個中的任何一個匹配一次,\s
反過來可能意味着一個單一的白色空間,可能來自空格,製表符,換行符,回車符。
您看到的額外\
是爲逃避。
感謝您抽出時間! – 2010-03-11 00:13:23
感謝您抽出寶貴時間! – 2010-03-11 00:12:09
@webzide歡迎您。歡迎來到最大的編程站點eva! – Sampson 2010-03-11 00:23:39