使用正则表达式在Notepad ++中进行批量替换

时间:2013-04-11 09:58:00

标签: regex notepad++

在这种情况下,我想在大文件中替换引号:

替换:

  

M 100644 367cb229“DFA / OETK / oetk_settings / Sony DADC Demo_with_pass.p12”

人:

  

M 100644 367cb229 DFA / OETK / oetk_settings / Sony DADC Demo_with_pass.p12

但我不想替换文档的所有引号,只有这些特定情况。

有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

尝试将其作为模式

^(?=M \d{6}\b)(.*?)"(.*?)"

这是替换

$1$2

^匹配行的开头

(?=M \d{6}\b)是一个积极的先行断言,确保行以M \d{6}开头

\d{6}是六位数

\b是一个wordboundary,它确保在最后一位数字后面有一个非单词字符,否则如果有超过6位数字也是如此。

(.*?)匹配尽可能少,直到以下模式。存储匹配的内容,并且可以使用$1作为第一组,$2作为第二组,来检索该字符串,...

答案 1 :(得分:0)

使用此查找表达式:

(M \d{6} [^"]*)"([^"]*)"

这个替换表达式

$1$2

我这是第一部分(M \d{6} [^"]*)选择M 100644 367cb229 - 字符M后跟6个数字,然后是 "

第二部分([^"]*)选择DFA/OETK/oetk_settings/Sony DADC Demo_with_pass.p12 - 引号中的文字。

括号内的任何文字都由$1$2等捕获,可用于替换。

查看这是否符合所有情况