2011-08-28 54 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可能意味着它被捕获,这取决于语言。 –