【问题标题】:Auto increment a variable in regex在正则表达式中自动增加变量
【发布时间】:2011-01-06 12:59:58
【问题描述】:

我正在使用Unix.sh 文件,在该文件中我有一个正则表达式,它有一个变量,每次都必须递增。计数设置为 1。每次都应该递增。 字符串A=echo $stringA | sed "s/[A-Za-z]\{3\},[0-9]*/$count++,&,/g"

所以我的输出应该是这样的

prgm([(1,ABC,1,),(2,XYZ,1,),(3,PQR,1,)]),....

但我得到的是

prgm([(0++,ABC,1,),(0++,XYZ,1,),(0++,PQR,1,)]),....

【问题讨论】:

  • 您使用什么语言/编辑器?

标签: regex variables auto-increment


【解决方案1】:

正则表达式用于匹配字符串。它们不适用于在匹配发生时操纵变量。

您没有说您使用的是什么语言,但我建议您找到返回给定字符串中所有匹配项的方法。一旦你有了它,你就可以遍历列表并插入你的值作为递增计数。

【讨论】:

    【解决方案2】:

    不适用于 sed。去使用一些现代的东西:

    perl -pe 's/[A-Z]{3},\d*/$count++.",$&,"/egi'
    

    【讨论】:

      猜你喜欢
      • 2021-12-17
      • 1970-01-01
      • 2014-11-21
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多