PHP Regex获取连字符(-)前后的值


PHP Regex to get value after and before hyphen ( - )

我正在尝试实现一个PHP正则表达式来获得两个数值:一个在短划线"-"符号之前,另一个在符号之后。

假设我的范围为320-420

我知道我可以使用

preg-match("/[^-]+$/", "320-420")

但是我的正则表达式只考虑符号之后的数字,而且我需要将两个数字(320和420)保存在两个变量中,而函数无法做到这一点。

我怎样才能达到这个结果?

使用正则表达式:

preg_match('/('d+)'-('d+)/', '320-420', $matches)

但在我看来,最好的解决方案:

list ($one, $two) = explode('-', '320-420');

如果您只有number-number,那么按照一些人的建议使用explode()是最好的方法。

但假设你有这样的字符串:

速度范围应为每小时30-50公里。

在这种情况下,应该使用RegEx来匹配字符串。

使用像这样的简单正则表达式('d+)-('d+)将捕获capturing groups中的两个值。

Regex101演示