何か奇妙なことに気づいたとき、私は正規表現についての質問に答えていました。私はRegexPalで正規表現をテストしていましたが、ChromeとFirefoxが教えてくれたものとは異なる結果が得られていました。
問題の正規表現は次のとおり/^\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が一致しないと言うのに、私のWebブラウザーは一致すると言うのはなぜですか?