Netbeans正则表达式 - 查找和替换(Ctrl + H)

时间:2018-03-26 14:18:03

标签: c regex netbeans replace

我正在探索正则表达式,但我根本无法达到我想要的效果。我正在使用NetBeans,我需要将所有strncpy(... , sizeof(x))交换为strncpy(... , sizeof(x) -1 ),即在最后一个括号之间添加"-1"

一个例子应该是:

strncpy(data->error, t_result[ID(data->modulo)].status, sizeof(data->error)); //need below
strncpy(data->error, t_result[ID(data->modulo)].status, sizeof(data->error) - 1); 

1 个答案:

答案 0 :(得分:1)

See regex in use here

(strncpy\(.*?sizeof\([^)]*\))
  • (strncpy\(.*?sizeof\([^)]*\))将以下内容捕获到捕获组1中
    • strncpy\(按字面意思匹配strncpy(
    • .*?任意次数匹配任何字符,但尽可能少
    • sizeof\(按字面意思匹配sizeof(
    • [^)]*匹配除)以外的任何字符
    • \)按字面意思匹配)

替换$1 - 1

结果:

strncpy(data->error, t_result[ID(data->modulo)].status, sizeof(data->error) - 1);