Regex 正则表达式-找到一个字符串并立即跳到下一行
例如,我正在一个更大的文本文件中寻找一些东西-非常简单,例如一个三位数的字符串,带有Regex 正则表达式-找到一个字符串并立即跳到下一行,regex,notepad++,textpad,Regex,Notepad++,Textpad,例如,我正在一个更大的文本文件中寻找一些东西-非常简单,例如一个三位数的字符串,带有\d{3}。我想做的是:当记事本++/textpad在一行中找到第一个匹配的字符串(并替换为其他字符串)时,它应该立即跳转到下一行 我怎样才能做到这一点 我尝试了\r\n,但在这种情况下,textpad不会找到行中有三位数字的第一个字符串,而是始终找到最后一个。记事本++根本找不到任何东西 我不能使用^,因为在我试图查找和替换的数字之前有一些随机词(一、二、三甚至是u或五) 感谢您的帮助。要做到这一点,您必须将您
\d{3}
。我想做的是:当记事本++/textpad在一行中找到第一个匹配的字符串(并替换为其他字符串)时,它应该立即跳转到下一行
我怎样才能做到这一点
我尝试了\r\n
,但在这种情况下,textpad不会找到行中有三位数字的第一个字符串,而是始终找到最后一个。记事本++根本找不到任何东西
我不能使用^
,因为在我试图查找和替换的数字之前有一些随机词(一、二、三甚至是u或五)
感谢您的帮助。要做到这一点,您必须将您的所有剩余线路都包含在匹配模式中 例如,假设您搜索
\d{3}
,并具有以下数据:
qweqwe 123 rrr 445
test tetst
41 423 456
搜索:\d{3}(.*$)
更换:更换$1
将为您提供以下结果:
qweqwe REPLACEMENT rrr 445
test tetst
41 REPLACEMENT 456
如果没有包含剩余的行(*
),结果将是:
qweqwe REPLACEMENT rrr REPLACEMENT
test tetst
41 REPLACEMENT REPLACEMENT
在记事本++中,若要执行此操作,必须取消选中“.matches newline”选项。是,此操作非常有效!谢谢为什么使用$作为行尾,而不是$作为行首?您也可以使用
^
,例如搜索:^(.*)\d{3}
,替换:$1REPLACEMENT
将产生相同的结果!请注意,现在我们必须使用*?
这是一种非贪婪(又称惰性)匹配。我选择$
的唯一原因是,如果我用文字来描述它,它比^
更接近您的标题“查找模式并跳到下一行”,我将其描述为“匹配每行中第一次出现的模式”。