use*_*879 7 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"/>
Run Code Online (Sandbox Code Playgroud)
通过在Notepad ++中使用此正则表达式
<devio1="([0-9]+)" devio2="([0-9]+)" devio3="([0-9]+)" devio4="([0-9]+)"/>
Run Code Online (Sandbox Code Playgroud)
我可以在""中找到所有数字,但我找不到向所有数字添加+100的方法.可以使用正则表达式使用Notepad ++实现此任务吗?
psx*_*xls 11
在Notepad ++中仅使用正则表达式是不可能的.遗憾的是,无法在替换模式中执行计算.
因此,在Notepad ++中完成任务的唯一方法是使用Python Script插件.
Python Script插件.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)
Run Code Online (Sandbox Code Playgroud)运行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"/>
Run Code Online (Sandbox Code Playgroud)正则表达式不支持算术,而 Notepad++ 不支持正则表达式之外的任何计算,因此如果您将自己限制在该工具上,您就会陷入困境。当然,还有许多其他非 Notepad++ 解决方案,其中一些在regex 中的数学运算中进行了讨论。
| 归档时间: |
|
| 查看次数: |
14199 次 |
| 最近记录: |