正则表达式,用于检测写为单词的数字

She*_*mar 7 php regex

我需要PHP代码来检测字符串是否包含4个或更多连续写入的数字(0到9),如:

"one four six nine five"
Run Code Online (Sandbox Code Playgroud)

要么

"zero eight nine nine seven three six six"
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

你可以这样做:

\b(?:(?:zero|one|two|three|four|five|six|seven|eight|nine)(?: +|$)){4}
Run Code Online (Sandbox Code Playgroud)

(Rubular)


Jam*_*mes 2

/(?:(?:^|\s)(?:one|two|three|four|five|six|seven|eight|nine|ten)(?=\s|$)){4,}/
Run Code Online (Sandbox Code Playgroud)

PHP代码:

if (preg_match(...put regex here..., $stringToTestAgainst)) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

注意:可以轻松地将更多单词(例如“十二”)添加到正则表达式中。