我有这个字符串
@[123:peterwateber] 你好 095032sdfsdf!@[589:zzzz]
我想得到123 和 589你怎么在 PHP 中使用正则表达式或其他东西?
注意:peterwateber 和 zzzz 只是示例。应考虑任何随机字符串
我有这个字符串
@[123:peterwateber] 你好 095032sdfsdf!@[589:zzzz]
我想得到123 和 589你怎么在 PHP 中使用正则表达式或其他东西?
注意:peterwateber 和 zzzz 只是示例。应考虑任何随机字符串
不要忘记前瞻,所以你不匹配095032
:
$foo = '@[123:peterwateber] hello there 095032sdfsdf! @[589:zzzz]';
preg_match_all("/[0-9]+(?=:)/", $foo, $matches);
var_dump($matches[0]); // array(2) { [0]=> string(3) "123" [1]=> string(3) "589" }
以下正则表达式将连续提取一个或多个数字字符:
preg_match_all('#\d+#', $subject, $results);
print_r($results);
有一个函数叫做 preg_match_all
第一个参数接受正则表达式 - 以下示例显示 '匹配至少一个数字,后跟任意数量的数字。这将匹配数字。
第二个参数是字符串本身,您要从中提取的主题
第三个是一个数组,所有匹配的元素都将位于其中。所以第一个元素是 123,第二个是 589,依此类推
preg_match_all("/[0-9]+/", $string, $matches);