我已尝试过各种正则表达式,但无法正确使用。
我需要匹配if (m instanceOf CommonMarker) {
... cast
} else {
... throw exception with meaningful error message
,这意味着它必须是1后跟一个点以及点后面的任何 1或2位数字。
有效匹配的例子:
1.*
无效:
1.8
1.9
1.11
1.99
答案 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