So, while both \d + and \d+? are prepared to adjust the number of digits they match in order to make the rest of the pattern match, (? \d+) can only match an entire sequence of digits.
A "word" character is any letter or digit or the underscore character, that is, any character which can be part of a Perl "word ". The definition of letters and digits is controlled by PCRE's character tables, and may vary if locale-specific matching is taking place (see "Locale support" above). For example, in the "fr" (French) locale, some char- acter codes greater than 128 are used for accented letters, and these are matched by \w.