Notepad++正则匹配未被单引号注释的含Browser目标代码行
Notepad++ 正则匹配解决方案
可用正则表达式
在Notepad++中按Ctrl+F调出查找窗口,匹配模式选择「正则表达式」,不要勾选「.匹配换行」,输入以下正则即可:
^(?![ \t]*')[ \t]*Browser.*Image\("Click to go to the next.*"\)\.Click.*
匹配逻辑说明
^:锚定行的起始位置(?![ \t]*'):负向零宽断言,直接排除所有从行首开始,经过任意数量空格/制表符后出现单引号'的行——无论单引号在缩进后还是行首,只要出现在Browser之前就判定为注释行,直接跳过[ \t]*:匹配Browser前允许存在的任意数量(包含0个)空格、制表符缩进,解决原正则无法匹配带缩进代码行的问题- 剩余部分保留原有匹配规则:识别
Browser关键字后跟随Image("Click to go to the next...").Click结构的代码行,行尾存在的注释内容不影响匹配
匹配效果验证
针对提供的示例代码,正则会准确命中6行有效代码:
Browser("sample").Image("Click to go to the next").Click ' comments Browser("sample").Page("sample_2").Frame("BODY").Image("Click to go to the next").Click 'test Browser("sample").Page("sample_2").Frame("BODY").Image("Click to go to the next").Click Browser("sample").Page("sample_2").Frame("BODY").Image("Click to go to the next_6").Click 563,41 Browser("sample").Page("sample_2").Frame("BODY_3").Image("Click to go to the next").Click Browser("sample").Page("sample_2").Frame("BODY").Image("Click to go to the next").Click 525,55
所有单引号出现在Browser之前的注释行,无论单引号前存在多少空格、制表符缩进,都会被自动排除,不会出现在搜索结果中。
内容的提问来源于stack exchange,提问作者JossCh
相关产品推荐
相关产品推荐

