Важной фразой здесь является " предыдущий элемент ". Если предыдущий элемент представляет собой один символ, как здесь, это означает, что этот символ может повторяться 0 или более раз. bo*
будет соответствовать b
, за которым следует ноль или более o
с. o*
будет соответствовать нулю или более o
с. b(?:oo)*
будет соответствовать b
, или boo
, или boooo
, et c. (ноль, или два, или четыре, или шесть, ... o
с)
Посмотрите на токен, который непосредственно предшествует квантификатору, чтобы увидеть, что он количественно определяет.
Для другого примера , [ab][xy]*
будет соответствовать a
, или b
, или ax
, или axxxy
, или byxyy
. Маркер, предшествующий квантификатору [xy]
, который соответствует x
или y
, повторяется ноль или более раз.