我正在尝试使用preg_replace来删除小于'15'的数字,例如:$string = '1 20 5 16 11 15 14';我希望preg_replace之后的输出是20 16 15我怎么能这么做呢?
$string = '1 20 5 16 11 15 14';
20 16 15
kse8i1jr1#
使用这种模式
\s*\b\d\b|\b1[01234]\b
解释
\s # <whitespace character> * # (zero or more)(greedy) \b # <word boundary> \d # <digit 0-9> \b # <word boundary> | # OR \b # <word boundary> 1 # "1" [01234] # Character in [01234] Character Class \b # <word boundary>
xmjla07d2#
替换范围从0到9或范围从10到14的所有数字
0
9
10
14
$string = '1 20 5 16 11 15 14'; var_dump(preg_replace("/\b([0-9]{1}|1[0-4]{1})\b/", "", $string)); // the output: ' 20 16 15 '
2条答案
按热度按时间kse8i1jr1#
使用这种模式
解释
xmjla07d2#
替换范围从
0
到9
或范围从10
到14
的所有数字