我可以使用一些帮助来简化包含正则表达式语句的以下代码。我只是试图从包含在较大文本中的所有可能的子串中获取整数,然后将这些整数推送到数组中。我知道我不应该使用split,但我忘记了如何使用regex。
preg_match_all('/bar:foo\(?[0-9]*\);/', $in , $tag);
for ($i = 0; $i < count($tag[0]); $i++) {
$parts = explode("(", $tag[0][$i]);
$parts2 = explode(")", $parts[1]);
array_push($myArr, $parts2[0]);
}
答案 0 :(得分:3)
实际上,您可能不需要使用preg_split
,但您可以通过修改当前模式来改进它:
$numbers = preg_match_all('/bar:foo\(?([0-9]*)\);/', $in , $matches)
? array_map('intval', $matches[1])
: array();
答案 1 :(得分:1)
preg_match_all('/bar:foo\(?([0-9]*)\);/', $in , $tags);
print_r($tags);