var rxDatePattern = new RegExp("^(?:\\d*\\.\\d{" + no + "})$");
這是使用decimal.The值被存儲在該變量沒有後3位接受數值的定期記錄模式IM .... 這是工作正常,但我那種不明白的模式,任何人可以幫助我的模式.. 感謝說明關於正則表達式模式
var rxDatePattern = new RegExp("^(?:\\d*\\.\\d{" + no + "})$");
這是使用decimal.The值被存儲在該變量沒有後3位接受數值的定期記錄模式IM .... 這是工作正常,但我那種不明白的模式,任何人可以幫助我的模式.. 感謝說明關於正則表達式模式
^
和$
分別用於字符串的開始和結束錨。在這種情況下,它們使正則表達式匹配一個完整的字符串,而不僅僅是一個子字符串。
\d
代表單個數字,而\d*
是,由於*
量詞,一系列的至少零個數字。然後遵循字面點,匹配,以及點(.
)和可變數目的數字,例如, \d{3}
。
正則表達式包含\\d
而不是\d
的原因是\
也是JavaScript中字符串的轉義字符。因此,要在包含在字符串中的正則表達式中包含文字反斜槓,您必須避開反斜槓一次,因此正則表達式引擎會看到實際的反斜槓。
最後,所有這些被封閉在一個非捕獲組(?:...)
,雖然我不太明白爲什麼。它在這種情況下不起作用,也可以省略。
所以對於no
= 2,這將匹配像
1.23
123.45
.00
但不是字符串像
.123
1.123
5.3
2
1.
嘿感謝喬伊!!!! – freebird 2012-03-01 11:53:02
第一\ d *字符串是說 「許多數字或0之前。」 「」 然後\ d {3}(3是var no的值)就是說「之後的3個數字」。「」)
開始的「^」和結尾的「$」是說「正好這種模式「如果你想擺弄它
:http://regexpal.com/ – 2012-03-01 11:41:00