regex - Notepad++正则表达式加号

标签 regex math notepad++

如何将所有这些数字相加或相加一定值?例如,我的目标是将“”中的所有这些数字都增加100,但要实现这一点是有问题的。基本上只是以某种方式将当前数字与+100相加。

我有以下几行

<devio1="875" devio2="7779" devio3="5635" devio4="154"/>
<devio1="765" devio2="74779" devio3="31535" devio4="544"/>
<devio1="4335" devio2="13" devio3="55635" devio4="1565"/>

通过将此正则表达式与Notepad++一起使用
<devio1="([0-9]+)" devio2="([0-9]+)" devio3="([0-9]+)" devio4="([0-9]+)"/>

我可以在“”中找到所有数字,但找不到将+100加到所有数字中的方法。使用记事本使用正则表达式可以完成此任务吗?

最佳答案

仅在Notepad++中使用正则表达式是不可能的。不幸的是,无法在替换模式中执行计算。

因此,在Notepad++中完成任务的唯一方法是使用Python Script插件。

  • Python Scriptofficial website安装Plugin Manager插件。
  • 然后转到Plugins> Python Script> New Script。选择新文件的文件名(例如add_numbers.py),然后复制以下代码:

    def calculate(match):
        return 'devio%s="%s"' % (match.group(1), str(int(match.group(2))+100))
    
    editor.rereplace('devio([0-9])="([0-9]+)"', calculate)
    
  • 运行Plugins> Python Script> Scripts> add_numbers.py,您的文本将转换为:
    <devio1="975" devio2="7879" devio3="5735" devio4="254"/>
    <devio1="865" devio2="74879" devio3="31635" devio4="644"/>
    <devio1="4435" devio2="113" devio3="55735" devio4="1665"/>
    
  • 关于regex - Notepad++正则表达式加号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20506990/

    相关文章:

    regex - 数组搜索和替换为 Sublime Text 的正则表达式

    math - float 学有问题吗?

    replace - 如何在 Notepad++ 中替换十六进制级别的字符?

    javascript - "(time zone)"在某些机器上 new Date() 可接受的输入,但其他机器则期望 "time zone"

    ruby - 如何替换字符串中的特定字符以及紧邻的下一个字符

    mysql - REGEXP "and"运算符

    .htaccess - Notepad++ 中的.htaccess

    c++ - 如何仅使用加法和赋值来执行乘法?

    python - 如何在Python中计算非中心f分布的逆?

    autocomplete - 如何在 Notepad++ 中启用自动完成支持?