根据行内容添加到一行

Posted

技术标签:

【中文标题】根据行内容添加到一行【英文标题】:add onto a line based on the lines content 【发布时间】:2013-06-10 20:31:54 【问题描述】:

我想使用正则表达式根据行内容添加到行上。

这条线看起来像这样:

decode((SOMETHING_UNIQUE,'','','') OBJECT

我希望它看起来像这样

decode((SOMETHING_UNIQUE,'','','') OBJECT,decode((SOMETHING_UNIQUE,'','','') SUMMARY

所以我尝试了这个,但它确实有效:

FIND: decode((\w+),'','','') OBJECT
REPLACE: decode((\1,'','','') OBJECT,decode((\1,'','','') SUMMARY

【问题讨论】:

【参考方案1】:

我发现了几个问题。

    您需要转义直接匹配文本的 () 字符。

    decode\((\w+),'','',''\) OBJECT

    在您的替换中,您在匹配的模式之前添加了一个额外的(

    应该是decode(\1, 而不是decode((\1,

在我的测试中,我不得不使用$1 而不是\1,但这仅仅是因为正则表达式引擎。

Test Link

【讨论】:

是的,我找到了,但找不到。 PS两次解码后有一个\,但上面的评论中没有出现 @user2367789 好的,我添加了一个指向工作正则表达式的链接,以防万一。

以上是关于根据行内容添加到一行的主要内容,如果未能解决你的问题,请参考以下文章

sed 在匹配行前后添加内容

LINUX C语言,在文本中某一行插入内容,最好有程序。

如何根据内容调整 UITextView 的大小?

[sed] 取文件指定行范围的内容

c# datatable 指定行添加内容

如何使用 node.js 和 Promises 将特定行的行添加到文件的内容