Regex 正则表达式帮助-在函数中追加参数

Regex 正则表达式帮助-在函数中追加参数,regex,append,Regex,Append,我不熟悉正则表达式。我正在寻找能够帮助我在整个代码树中查找并替换任何创建文件描述符的函数的东西 例如,我需要将socket(PF_LOCAL,SOCK_STREAM,0)更改为socket(PF_LOCAL,SOCK_STREAM,0) 在每种情况下,我都会在第二个参数的末尾追加内容,但我不知道当前的第二个参数将持续多长时间,或者它将包含什么文本。我认为最好的方法是找到第二个逗号,并用我的字符串(“|SOCK\u CLOEXEC,”)替换它 如果有人能给我举一个这样的例子,那将是非常有帮助的。谢

我不熟悉正则表达式。我正在寻找能够帮助我在整个代码树中查找并替换任何创建文件描述符的函数的东西

例如,我需要将
socket(PF_LOCAL,SOCK_STREAM,0)
更改为
socket(PF_LOCAL,SOCK_STREAM,0)

在每种情况下,我都会在第二个参数的末尾追加内容,但我不知道当前的第二个参数将持续多长时间,或者它将包含什么文本。我认为最好的方法是找到第二个逗号,并用我的字符串(
“|SOCK\u CLOEXEC,”
)替换它


如果有人能给我举一个这样的例子,那将是非常有帮助的。谢谢

我不完全确定这是否是您想要的,但在perl中:

s/socket\(([^,]+),([^,]+),([^,]+)\)/socket($1,$2 | SOCK_CLOEXEC,$3)/
这意味着:

s/to\u substitute/substitution\u string/
“查找模式
to\u substitute
,并将其替换为
substitution\u string

我用了:

[^,]+
意思是“没有逗号的字符串”

()
用于捕获以替换字符串形式复制的字符串,这些字符串使用
$1
$2
$3


我希望这会有所帮助。

我不完全确定这是否是您想要的,但在perl中:

s/socket\(([^,]+),([^,]+),([^,]+)\)/socket($1,$2 | SOCK_CLOEXEC,$3)/
这意味着:

s/to\u substitute/substitution\u string/
“查找模式
to\u substitute
,并将其替换为
substitution\u string

我用了:

[^,]+
意思是“没有逗号的字符串”

()
用于捕获以替换字符串形式复制的字符串,这些字符串使用
$1
$2
$3

我希望这会有所帮助。

+1--欢迎使用StackOverflow--但是仅供参考,在Perl中的替换字符串中编写(例如,
\1
)被认为是不好的做法:
$1
被推荐。+1--欢迎使用StackOverflow--但是仅供参考,编写(例如:)被认为是不好的做法Perl中替换字符串中的
\1
:建议改为
$1