正则表达式仅匹配1. *

时间:2017-07-05 09:11:42

标签: c# regex

我已尝试过各种正则表达式,但无法正确使用。

我需要匹配if (m instanceOf CommonMarker) { ... cast } else { ... throw exception with meaningful error message ,这意味着它必须是1后跟一个点以及点后面的任何 1或2位数字。

有效匹配的例子:

1.*

无效:

1.8
1.9
1.11
1.99

2 个答案:

答案 0 :(得分:3)

您正在寻找的正则表达式是1\.\d{1,2}$。在Regex101.com上试用演示here

将其拆分:
1 - 匹配文字第一 \. - 匹配文字点字符(需要转义斜杠)
\d - 匹配任何数字字符(它的文化不变,因此它不仅仅是0-9个字符 - 如果您只想要这些字符,请使用[0-9]作为对您的问题的评论建议)
{1,2} - 是应用于\d的量词 - 最少1次出现,最多2次出现 $ - 将文本锚定到字符串/行的末尾(取决于多行正则表达式选项是否设置为true)

答案 1 :(得分:2)

这个很简单:

^1\.\d{1,2}$

说明:

^     Start of Line
1     match 1
\.    match Dot, Dot needs to be escaped, otherwise it will match any Character
\d    match a Digit
{1,2} Length of the Digit is 1 to 2 Characters
$     End of Line