从引号和逗号之间的文件中获取文本

时间:2014-05-06 09:19:59

标签: regex

我的大文件包含这样的行 - 它的一行:

('serve1','type',0,'zone.x.target',1,'ab23423u',0,),('actual','type8',0,'code.is.avail',1,'srerwerwer');

我想只提取('和',' 所以在那个例子中,右输出必须是

  

serve1

     

实际

2 个答案:

答案 0 :(得分:0)

如果您使用的正则表达式实现中可用,则可以使用后视和前瞻肯定断言:

(?<=\(').*?(?=')

Regular expression visualization

Debuggex Demo

答案 1 :(得分:0)

如果您的正则表达式引擎支持后视:

(?<=\(')[^']*

如果您有可用的gnu-grep:grep -Po "\('\K[^']*" file

kent$  echo "('serve1','type',0,'zone.x.target',1,'ab23423u',0,),('actual','type8',0,'code.is.avail',1,'srerwerwer');"|grep -Po "\('\K[^']*"
serve1
actual