我希望匹配文本中的模式,然后将其附加到行尾。在下面的情况下,我想匹配数字,然后将其粘贴在行尾。如果匹配两个模式,希望以逗号分隔。 基本上我在寻找如何将匹配部分用作变量。
我希望在Bash中这样做。
abc 123=
agdaf456ad
dfaf879:
abc123xyz12:
要
abc 123=123
agdaf456ad456
dfaf879:879
abc123xyz12:123,12
答案 0 :(得分:2)
像
这样的东西(\d+)(.*)$
并替换为
$1$2$1
示例强>
$replace = preg_replace("/(\d+)(.*)$/", "$1$2$1", "abc 123=");
echo $replace;
=> abc 123=123
答案 1 :(得分:0)
要获取给定字符串中的所有数字序列,您可以使用仅仅\d+
正则表达式,然后只是内部获取的结果数组并将其附加到输入字符串:
$str = "abc123xyz12:";
preg_match_all('/\d+/', $str, $m);
$append = implode(",", $m[0]);
echo $str . $append;
请参阅demo