1
我回答了一個question about regexes,當時我注意到一些奇怪的東西。我正在測試RegexPal中的正則表達式,並且我得到了Chrome和Firefox告訴我的不同結果。RegexPal與瀏覽器不同
有問題的正則表達式是:/^\d*(\.\d{1,2}$)?/
。
在Firefox和Chrome中:/^\d*(\.\d{1,2}$)?/.test('-1')
返回true
,但RegexPal表示它不匹配。
http://regexpal.com/?flags=m®ex=%5E%5Cd%2A(%5C.%5Cd%7B1%2C2%7D%24)%3F&input=-1
我的猜測是,它有事情做的事實,正則表達式什麼都沒有,我的意思是空字符串相匹配。
正則表達式匹配字符串的開頭,然後是0數字,然後是0的組,因此它會匹配-1
,因爲它適合模具,但「匹配」將是「沒有」(空字符串)。
RegexPal爲什麼說它不匹配,但我的網頁瀏覽器說它呢?
該正則表達式應該與字面上的任何內容相匹配(您正在使'\ d'爲可選,並且整個組也是可選的)。它看起來像RegexPal中的一個bug。 – NullUserException
等一下。我只是想到了一些事情。正則表達式「高亮」匹配。所以,它試圖突出匹配。這是一個空字符串,所以你看不到它。我知道X_X –
出於好奇,有沒有像假小馬發電機或什麼的?還是你自己畫了那個化身? – NullUserException