我使用正则表达式跟随一些PHP代码:
$result_from_pull = "T601092";
if(preg_match("/^[A-Za-z0-9]{2,6}[0-9]{1,3}$/", $result_from_pull)) {
echo "We found a \"valid\" UFS key.";
}
我想要做的是将字符串分成两部分。第一部分将匹配模式的开头[A-Za-z0-9]{2,6}
,而第二部分将匹配模式的尾部[0-9]{1,3}
。
如何使用preg_split来完成此操作?它可以在一个preg_split上完成,还是应该完全使用两个或另一个函数?
答案 0 :(得分:3)
preg_split
是错误的功能。使用捕获组。
if(preg_match("/^([A-Za-z0-9]{2,6})([0-9]{1,3})$/", $result_from_pull, $matches)) {
echo "We found a \"valid\" UFS key.";
var_dump($matches);
// you should see the first part in $matches[1], and the second in $matches[2]
}
答案 1 :(得分:2)
从索引1和2获取匹配的组
^([A-Za-z0-9]{2,6})([0-9]{1,3})$
示例代码:
$re = "/^([A-Za-z0-9]{2,6})([0-9]{1,3})$/";
$str = "T601092";
preg_match($re, $str, $matches);