Powershell正则表达式

时间:2015-07-07 10:24:21

标签: regex powershell

在Powershell中,如何指定一个包含一个,两个或三个数字的正则表达式,后跟一个小数点和一个或两个以上的数字,用于-match比较?

[0-9][0-9]*[0-9]*\.[0-9][0-9]*是我能提出的最接近的,但这允许比我想要的更多数字。我找不到任何方法将术语限制为最大重复次数。

1 个答案:

答案 0 :(得分:2)

您可以尝试使用以下内容:\d{1,3}\.\d{1,2}。大括号内的数字表示正则表达式引擎匹配的最小和最大重复次数。有一个例子here

您的表达问题是您正在使用*。这意味着重复0次或多次,因此[0-9]*适合空字符串,1位数字,2位数字等等。

替代方案(并且更接近您所做的)将改为使用?运算符,这意味着01个实例,因此:[0-9][0-9]*[0-9]*\.[0-9][0-9]*将成为:[0-9][0-9]?[0-9]?\.[0-9][0-9]?,它将匹配一个数字后跟,可选最多2个数字,后跟一个句点,一个数字和可选的1个数字。