在Notepad++ 6.5.1中,我需要在引号对内替换某些模式。 我想将替换保存为宏的一部分,因此所有替换都需要在一个步骤中完成。
例如,在以下字符串中,将引号对内的所有'a'字符替换为破折号,同时保留引号对外的字符不变:
输入:
到目前为止,我尝试搜索
编辑:在引用的字符串中,引号用额外的引号进行转义,例如“”。但是,请假设我已经在之前的处理中用特殊字符替换了这些字符。 因此,这个问题的正则表达式解决方案将不必处理转义的引号。
例如,在以下字符串中,将引号对内的所有'a'字符替换为破折号,同时保留引号对外的字符不变:
输入:
aa"bbabaavv"kdjhas"bbabaavv"x
期望的结果:aa"bb-b--vv"kdjhas"bb-b--vv"x
请注意,引号是成对匹配的,因此kdjhas
中的'a'是不受影响的。到目前为止,我尝试搜索
(?:"[^"a]*|\G)\Ka([^"a]*)
并用 -$1 替换,但这只是简单地替换了所有的 a,结果为 --"bb-b--vv"kdjh-s"bb-b--vv"x
。我正在尝试使用PCRE正则表达式,以便让我递归地替换引号限定的文本。编辑:在引用的字符串中,引号用额外的引号进行转义,例如“”。但是,请假设我已经在之前的处理中用特殊字符替换了这些字符。 因此,这个问题的正则表达式解决方案将不必处理转义的引号。