【问题标题】:get text from file between quotes and commas从引号和逗号之间的文件中获取文本
【发布时间】:2014-05-06 09:19:58
【问题描述】:

我有一个像这样行的大文件——只有一行:

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

我想只提取 (' 和 ',' 之间的文本 所以在那个例子中,正确的输出必须是

服务1

实际

【问题讨论】:

  • 你的语言是什么?你能解释一下你卡在哪里了吗?

标签: regex


【解决方案1】:

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

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

Debuggex Demo

【讨论】:

    【解决方案2】:

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

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

    如果你有可用的 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 2017-09-28
      相关资源
      最近更新 更多