【问题标题】:regex and rename the variables in python正则表达式并重命名python中的变量
【发布时间】:2017-02-28 09:59:45
【问题描述】:

我正在尝试对文件中的变量进行正则表达式;文件看起来像:

   ...unknown lines...
    @    legend hgap 1
    @     s0  legend  "foo"
    @     s2  legend  "bar"
    ...unknown lines

一个简单的正则表达式是

^@[ \t]*s\d*[ \t]*(legend)[ \t]*[A-z0-9"_]*

这符合我的需要。

但是现在,我需要将S0(是的,大写S)重命名为foo,并将S1 重命名为bar。 我该怎么做?

【问题讨论】:

    标签: python regex python-3.x


    【解决方案1】:

    你的意思是这样的?

    ^(@\s*)S\d*(\s*legend\s*\")([A-z0-9_]*)(\")
    

    并替换为:

    $1$3$2$3$4
    

    在此处查看演示:https://regex101.com/r/1GkEYQ/2

    【讨论】:

      【解决方案2】:

      如果您打算将 s0 更改为 foo ,这里有一个提示:

      >>> s = re.sub('s0','foo','    @     s0  legend  "foo"')
      >>> print(s)
          @     foo  legend  "foo"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-03
        • 2020-11-29
        • 2021-12-19
        • 2011-04-28
        • 1970-01-01
        • 2017-11-04
        相关资源
        最近更新 更多