使用命令行帮助获取 perl 正则表达式

发布于 2024-11-07 05:14:25 字数 332 浏览 5 评论 0原文

我有正则表达式:

echo "(1508,'2011-02-28','pc','postroll','ai-postroll','HT','','',16),(1508,'2011-02-28','pc','postroll','ai-postroll','MU','','',11),(1508," | perl -pe "s|,(\d+)\)|,'',($1)\)|g"  

我试图用额外的值替换右括号之前的数字。
因此 '',16) 将替换为 ,'',''16) 。

我发现 1 美元没有被替换的问题。请让我知道我做错了什么。

提前致谢

I have regex expression:

echo "(1508,'2011-02-28','pc','postroll','ai-postroll','HT','','',16),(1508,'2011-02-28','pc','postroll','ai-postroll','MU','','',11),(1508," | perl -pe "s|,(\d+)\)|,'',($1)\)|g"  

I am trying to replace the number before closing parenthesis with an extra value.
So '',16) would be replaced by ,'',''16) .

I am finding issue that $1 is not getting replaced.Please let me know what is that I am doing wrong.

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情话难免假 2024-11-14 05:14:25

由于您使用了双引号,bash 将尝试用一个值替换 $1。尝试将其替换为 \$1。

Since you used double-quotes, bash will try to substitute a value for $1. Try replacing it with \$1.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文