regex 正则表达式,用于查找具有特殊字符的单词后的数字并减去常数值

disbfnqx  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(101)

使用notepad++,尝试在具有特殊字符的单词之后查找数字,然后从所有此类事件的值中减去常数。
输入:

<title>100
<title>99
<title>98
<title>97

regex之后的预期输出,使用查找和替换:

<title>78
<title>77
<title>76
<title>75

输入数和输出数之间总是相差22。
尝试使用下面的表达式,但它只找到所有前后具有<>的特殊字符的单词。

<(.+?)>

任何建议都将是有益的。

8nuwlpux

8nuwlpux1#

您可以在PythonScript插件中运行Python脚本。
如果尚未安装,请按照以下guide操作

  • 创建脚本(插件>> PythonScript >>新建脚本)
  • 复制此代码并保存文件(例如substract.py):
import re

def substract(match):
    val = int(match.group(1)) - 22
    return str(val)
    
editor.rereplace(r'<title>\K(\d+)', substract)
  • 打开要修改的文件
  • 运行脚本(Plugins >> PythonScript >> Scripts >> substrate)
  • 搞定

相关问题