Regex 复制它末尾的匹配线条图案

Regex 复制它末尾的匹配线条图案,regex,bash,replace,find,Regex,Bash,Replace,Find,我想从文本中匹配一个模式,然后将其追加到行尾。在下面的例子中,我想匹配数字,然后将其粘贴到行的末尾。在匹配两个模式的情况下,需要用逗号分隔。 基本上,我正在寻找如何使用匹配部分作为变量 我希望在Bash中完成它 abc 123= agdaf456ad dfaf879: abc123xyz12: 到 差不多 (\d+)(.*)$ 并替换为 $1$2$1 示例 $replace = preg_replace("/(\d+)(.*)$/", "$1$2$1", "abc 123="); ech

我想从文本中匹配一个模式,然后将其追加到行尾。在下面的例子中,我想匹配数字,然后将其粘贴到行的末尾。在匹配两个模式的情况下,需要用逗号分隔。 基本上,我正在寻找如何使用匹配部分作为变量

我希望在Bash中完成它

abc 123=
agdaf456ad
dfaf879:
abc123xyz12:

差不多

(\d+)(.*)$
并替换为

$1$2$1

示例

$replace = preg_replace("/(\d+)(.*)$/", "$1$2$1", "abc 123=");
echo $replace;
=> abc 123=123

要获取给定字符串中的所有数字序列,您可以仅使用
\d+
regex,然后对获得的结果数组进行内爆并将其附加到输入字符串中:

$str = "abc123xyz12:";
preg_match_all('/\d+/', $str, $m);
$append = implode(",", $m[0]);
echo $str . $append;

请参见

如果您有几个“数字”,该怎么办?还是你总是只有一个?“数字”只是“数字序列”吗?现在我的用例是几个连续的数字。但在你的评论之后,我很好奇是否有多个图案在一行中匹配。如何获得不同变量中的模式以及如何使用它?如abc123xyz12:->abc123xyz12:123或abc123xyz12:->abc123xyz12:123-12请根据实际需求更新问题,并说明您使用的编程语言。那怎么办?刚刚意识到我刚得到一个答案,现在编辑这个问题将使这个答案无效。这看起来不对。真的很抱歉造成混乱。我想现在我可以自己找到扩展问题的解决方案了。不,精确的要求是正确的。张贴重复的问题不是一个好主意。请编辑问题,以包括实际要求@999999999999999999999999999999 它是php中的正则表达式字符串替换函数。当我添加答案时,它有一个标签,上面写着:/
$str = "abc123xyz12:";
preg_match_all('/\d+/', $str, $m);
$append = implode(",", $m[0]);
echo $str . $append;