将带有括号的字符串替换为括号,并将包含日期的子字符串替换为括号

时间:2017-12-01 19:15:13

标签: regex bash sed

我想用“sed”替换包含括号的字符串,并在括号中包含部分字符串。

输入

  

TO_DATE('04 / 10 / 12' , 'DD / MM / RR')

输出

  

'04 / 10 / 12'

有可能吗?怎么样?

输入中可能存在多次出现

我试过

sed -e 's/to_date(//'' -e 's/,\'DD/MM/RR\')//g'

但我想要一个替代表达式

2 个答案:

答案 0 :(得分:1)

您可以使用此sed

sed -E "s/to_date\(('[^']+')[^)]*\)/\1/g" <<< "to_date('04/10/12','DD/MM/RR')"

'04/10/12'

答案 1 :(得分:0)

您也可以使用此sed

regex find: (testing.*)(0\.001\;)

replace: $10.00;

test text:
//ActionList = testing { Name = "foo";  On = 0.001; Off = 1;    v = "tester";};