我正在尝试实现一个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演示