"\\d+"
在java中,和有什么区别"\\d++"
?我知道 ++ 是所有格量词,但是匹配数字字符串有什么区别?什么字符串可以匹配"\\d+"
但不能用"\\d++"
?占有量词似乎".*"
仅对量词有意义。这是真的吗?
问问题
24986 次
2 回答
12
占有量词不会后退,即使整体匹配需要一些后退。
因此,例如,正则表达式\d++0
永远无法匹配任何输入,因为\d++
将匹配所有数字,包括0
匹配正则表达式的最后一个符号所需的数字。
于 2013-04-24T04:45:12.017 回答
3
\d+ 表示:
\d
表示一个数字(0-9 范围内的字符),+
表示 1 次或多次。因此,\d+
是 1 个或多个数字。
\d++ 来自量词的意思
这称为所有格量词,它们总是吃掉整个输入字符串,尝试一次(并且仅一次)匹配。与贪婪量词不同,所有格量词从不退缩,即使这样做会使整体匹配成功。
于 2013-04-24T04:42:55.673 回答