php:如何在字符串中查找数字?

mot*_*ioz 2 php regex preg-match

我有一些字符串:

some words 1-25 to some words 26-50
more words 1-10
words text and words 30-100
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到并从字符串中获取所有"1-25"和"26-50"等等

Kon*_*lph 5

如果是整数,则匹配多个数字:\d+.匹配整个范围表达式:(\d+)-(\d+).

也许你还想在短划线和数字之间允许空格:

(\d+)\s*-\s*(\d+)
Run Code Online (Sandbox Code Playgroud)

也许你想确保表达式是自由的,即不是单词的一部分:

\b(\d+)\s*-\s*(\d+)\b
Run Code Online (Sandbox Code Playgroud)

\b是零宽度匹配并测试字边界.这个表达式禁止" Some1 -2text"但允许" Some 1-2 text".