我有一个像"5-2,5-12,15-27,5-22,50-3,5-100"
我需要一个匹配所有出现的正则表达式,如下所示: -
5-2
5-12
5-22
5-100
匹配所有正确的正则表达式是什么。
答案 0 :(得分:1)
答案 1 :(得分:1)
不确定是否理解您的需求,但是,如何:
$str = "5-2,5-12,15-27,5-22,50-3,5-100";
preg_match_all('/\b5-\d+/', $str, $matches);
print_r($matches)
或
preg_match_all('/\b\d-\d+/', $str, $matches);
<强>输出:强>
Array
(
[0] => Array
(
[0] => 5-2
[1] => 5-12
[2] => 5-22
[3] => 5-100
)
)
答案 2 :(得分:0)
怎么样:
<强> Online Demo 强>
<强> /(?<!\d)\d\-\d{1,3}/g
强>
如果理解正确,模式的第一部分是一个数字\d
,因此我们需要排除其他数字,后面是(?<!\d)
后跟-
,最后似乎是最多3个数字,如果您需要更多,可以删除3,它也可以使用\d{1,3}
或\d{1,}