Regex 记事本++;替换,正则表达式
我试图在Notepad++中替换正则表达式,但遇到了问题 本质上,我正在编写一个脚本,并为一个函数添加了一个额外的变量,该函数在我的代码中出现了数百次 原来是这样:Regex 记事本++;替换,正则表达式,regex,macros,replace,notepad++,Regex,Macros,Replace,Notepad++,我试图在Notepad++中替换正则表达式,但遇到了问题 本质上,我正在编写一个脚本,并为一个函数添加了一个额外的变量,该函数在我的代码中出现了数百次 原来是这样: MouseClick(442421) 现在,我为mouseclick delay添加了第三个变量,因此 MouseClick(4424214500) 4.5秒为默认延迟 目前它不起作用,因为第三个变量没有声明,所以我基本上想使用RegEx来查找我的所有鼠标图标,并在末尾添加默认值4500,是可能的还是RegEx不是答案 我正在尝试查
MouseClick(442421)
现在,我为mouseclick delay添加了第三个变量,因此
MouseClick(4424214500)
4.5秒为默认延迟
目前它不起作用,因为第三个变量没有声明,所以我基本上想使用RegEx来查找我的所有鼠标图标,并在末尾添加默认值4500,是可能的还是RegEx不是答案
我正在尝试查找:鼠标单击(*,*)
并替换为:
MouseClick(*,*,4500)
用通配符替换时,值是否也相同
谢谢。您不能用通配符代替。您必须“捕获”以前存在的值。你可能想找到
MouseClick\((.*),(.*)\)
并将其替换为
MouseClick(\1,\2,4500)
如果您有任何问题,请发表评论。您不能用通配符代替。您必须“捕获”以前存在的值。你可能想找到
MouseClick\((.*),(.*)\)
并将其替换为
MouseClick(\1,\2,4500)
如果您有任何问题,请发表意见。选择了正则表达式搜索模式,将
鼠标单击\(.*)、(.*)\)
替换为鼠标单击(\1、\24500)
:
选择了正则表达式搜索模式,将
鼠标点击\(.*),(.*)\
替换为鼠标点击(\1,\24500)
:
我只需编辑原始函数,添加代码,使用
arguments.length
检查是否省略了第三个参数,如果省略了,则指定默认的4500值。是的,我一开始就想到了这一点,我认为正则表达式可能更简单,但可能不是:p我可能会尝试一下!我对使用正则表达式来解决大型代码库中的问题的想法是:我只需编辑原始函数,添加代码,使用arguments.length
检查是否省略了第三个参数,如果是这样,则指定默认的4500值。耶,我最初考虑过,我认为正则表达式可能更容易,但可能不是:p我可能会试一试!我对使用正则表达式解决大型代码库中的问题的想法是:*
是一个贪婪的匹配。如果该行有两个或多个逗号和一个右括号,则替换将无法按预期工作。例如MouseClick(442421);//(x,y)
更改为mouseclick442421);//(x,y,4500
使用Notepad++v6.2。(出于某种原因,替换会丢失方括号,这是Notepad++错误吗?)搜索(鼠标单击\([0-9]*,[0-9]*)(\)
并替换为\14500\2
。刚刚发现圆括号在Notepad++的正则表达式replace中指定了分组。使用\(
和\)
插入圆括号。有关更多详细信息,请参阅。*
是贪婪匹配。如果该行有两个或多个逗号和一个紧括号,则替换将无法正常工作。例如鼠标单击(442421);//(x,y)
使用记事本++v6.2更改为鼠标单击442421);/(x,y,4500
。(出于某种原因,替换会丢失括号,这是记事本++错误吗?)搜索(鼠标单击\([0-9]*,[0-9]*)(\)
并替换为\14500\2
。刚刚发现圆括号在记事本++的正则表达式replace中指定分组。使用\(
和\)
插入圆括号。有关详细信息,请参阅。