无法匹配正则表达式
Not able to match regex
我有一个像 "5-2,5-12,15-27,5-22,50-3,5-100"
这样的字符串
我需要一个正则表达式来匹配所有出现的情况,如下所示:-
5-2
5-12
5-22
5-100
匹配所有这些的正确正则表达式是什么。
使用以下正则表达式:
(?<!\d)5-\d{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
)
)
怎么样:
/(?<!\d)\d\-\d{1,3}/g
如果理解正确,模式的第一部分是一个数字 \d
因此我们需要排除其他数字,后跟 (?<!\d)
后跟 -
最后似乎是是一个最多 3 位数的数字,如果你需要更多,你可以删除 3,它也可以工作,所以它是 \d{1,3}
或 \d{1,}
我有一个像 "5-2,5-12,15-27,5-22,50-3,5-100"
我需要一个正则表达式来匹配所有出现的情况,如下所示:-
5-2
5-12
5-22
5-100
匹配所有这些的正确正则表达式是什么。
使用以下正则表达式:
(?<!\d)5-\d{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
)
)
怎么样:
/(?<!\d)\d\-\d{1,3}/g
如果理解正确,模式的第一部分是一个数字 \d
因此我们需要排除其他数字,后跟 (?<!\d)
后跟 -
最后似乎是是一个最多 3 位数的数字,如果你需要更多,你可以删除 3,它也可以工作,所以它是 \d{1,3}
或 \d{1,}