如何使用awk将PB methd setNull转换为java等价物

如何使用awk将PB methd setNull转换为java等价物,awk,Awk,我正试图改变信仰 这句话:setNull(this.isEx.dif_A_B)这是一个powerbuilder方法,它将this.isEx.dif_A_B=0 java中的等效项 我已尝试将gensub与以下正则表达式一起使用: line = gensub(/setNull[(][ \t]?(\w|\.)*[ \t]?[)]/, " \\1 = 0 " , "g", line); 但是输出是B=0 我不明白他为什么只看到最后一封信 我怎样才能解决这个问题 谢谢您可以使用(或)或空格作为字段分隔

我正试图改变信仰 这句话:
setNull(this.isEx.dif_A_B)
这是一个powerbuilder方法,它将
this.isEx.dif_A_B=0
java中的等效项

我已尝试将gensub与以下正则表达式一起使用:

line = gensub(/setNull[(][ \t]?(\w|\.)*[ \t]?[)]/, " \\1 = 0 " , "g", line);
但是输出是B=0

我不明白他为什么只看到最后一封信

我怎样才能解决这个问题

谢谢

您可以使用
或空格作为字段分隔符,然后选择字段3:

awk -F'[() ]' '{printf "%s = 0\n", $3}' input.file

谢谢你的回答,但问题已经解决了,w前面的星号不见了

(\w |\)*
是错误的,您的意思是
([\w.]*)
,甚至可能是
([[:alnum:][.]*)
linha =  gensub(/setNull\(( |\t)*(\w*|\.)*( |\t)*\)/, " \\2 = 0 " , "g", linha)