preg_replace - $ 1返回捕获组以及其余的

时间:2018-04-20 10:27:36

标签: php regex preg-replace

如何在preg_replace上使用95040以便只保留第一个字符?

这是我的尝试,应该像my online regex节目

一样有效

enter image description here

但我收回了原来的字符串。

$re = '/(^\d{1})/m';
$str = '9100';

$str = preg_replace($re, '$1', $str);
echo $str;  //returns 9100

我做错了什么?

onlinePhp

更新

我注意到以下代码返回9-->100而不是9

$re = '/(^\d)/';
$str = '9100';

$str = preg_replace($re, '$1-->', $str);
echo $str; //returns 9-->100

为什么会发生这种情况,我该如何预防?

onlinePhp

2 个答案:

答案 0 :(得分:2)

简单地做: -

$str = $str[0];

输出: - https://eval.in/991817

如果你想要preg_replace()无论如何: -

<?php

$re = '/(^\d).*/s';
$str = '9100';

$str = preg_replace($re, '$1', $str);
echo $str;

输出: - https://eval.in/991829

答案 1 :(得分:1)

T obj = objects.get(i);

这将输出substr($txt, 0, 1) 字符串第一个字符。