java正则表达式中"\\ d +"和"\\ d ++"之间的区别

use*_*900 10 java regex

在java中,"\\d+"和之间有什么区别"\\d++"?我知道++是一个占有量词,但匹配数字串的区别是什么?什么字符串可以匹配,"\\d+"但不能与"\\d++"?占有量词似乎".*"只有量词才有意义.这是真的吗?

eri*_*son 11

即使总体比赛需要一些后退,占有量词也不会退缩.

因此,例如,正则表达式\d++0永远不会匹配任何输入,因为\d++将匹配所有数字,包括0匹配正则表达式的最后一个符号所需的数字.


Sum*_*ngh 3

\d+ 含义:
\d表示一个数字(0-9范围内的字符),+表示1次或多次。所以,\d+是 1 位或多位数字。

\d++量词 的意思

这称为所有格量词,它们总是吃掉整个输入字符串,尝试一次(且仅一次)匹配。与贪婪量词不同,所有格量词永远不会后退,即使这样做会让整体匹配成功。