2011-08-28 100 views
0

我的解釋正則表達式的技巧有點生疏。有人能幫我解決這個問題嗎?幫助解釋正則表達式

^[V0-9]?\d{2}(\.\d{1,2})? 

我所知道的第一個表達式表示,字符串的開始是以字符V或數字。但之後我無法解釋其餘的問題。第一個「?」是什麼?意思?我知道\ d {2}表示兩個字符的數字字符串。但是在前面的「?」的背景下意味着什麼。那麼括號中的表達式是否可以有一個兩位數的字符串,前面加上「。」?

回答

8
^[V0-9]? 

字符串與任選的單字符這要麼是V要麼一個數字(即,第一?涉及的[V0-9])開始。

\d{2} 

...後緊跟兩個數字

(\.\d{1,2})? 

...接着由

\.\d{1,2} 

可選序列/子模式...的單個週期(.)接着是1或2位數字。

這意味着,是的,你的解釋

然後在括號意味着可選擇有一個「」開頭的兩位數字字符串表達式?

是正確的(幾乎)。

+2

而子模式周圍的parens可能意味着它被捕獲,這取決於語言。 –