Regex 在记事本++;

Regex 在记事本++;,regex,notepad++,Regex,Notepad++,我有一套这样的词 “text1 “文本2 “文本3 我需要将其转换为引用文本,我可以使用stackoverflow帮助这样做 Find:^\”*$ 替换:$0“ 还有另外一组这样的词 text1 文本2 文本3 我需要将其转换为我能够做到的引用文本 Find:^(+)$ 替换:“$0” 但在这种情况下,我只能通过单击“全部替换”而不是“替换”来完成 有人能告诉我为什么会发生这种情况吗?如果不使用“全部替换”和“仅替换”,我该如何实现这一点?在第一种情况下,您不可能只使用一次“替换”!您必

我有一套这样的词

“text1
“文本2
“文本3
我需要将其转换为引用文本,我可以使用stackoverflow帮助这样做

Find:^\”*$
替换:$0“
还有另外一组这样的词

text1
文本2
文本3
我需要将其转换为我能够做到的引用文本

Find:^(+)$
替换:“$0”
但在这种情况下,我只能通过单击“全部替换”而不是“替换”来完成

有人能告诉我为什么会发生这种情况吗?如果不使用“全部替换”和“仅替换”,我该如何实现这一点?

在第一种情况下,您不可能只使用一次“替换”!您必须按了3次(按匹配的次数)

在这两种情况下,您都需要“全部替换”,因为您需要多个全局匹配。当按下“全部替换”按钮时,就像在替换中使用
/g
&
/m
修饰符一样,您可以尝试了解我的意思


顺便说一句,在第二个示例中使用捕获组(括号)是多余的,请使用find:
^.+$
和replace:
“$0”

处理第二个替换,它将用
“text1”
替换
“text1”

改用这个:

find what: ^[^"\n]+$
replace: "$0"

在任何情况下,它都应该使用“全部替换”而不是“替换”。该功能还可能受到光标位置和查找/替换方向的影响

当然,您可以将光标放在文件的开头,确保查找方向为“向下”,并使用“全部替换”

现在转到正则表达式,是的,您可以在一次替换中完成。使用此查找:

^(?:")?(.*)$
这将取代:

"$1"


(?:”)
将使用第一个双引号(如果有),以便以后不会将其放在替换中。

请在此处留下您的评论和答案。我只能在几小时后回复。如果你匹配一行,因为你有多行,你必须对所有行应用regexp:全部替换。@karthigh:首先,你问问题的全部目的是为了让我们可以将评论作为答案发布。你没必要让我们这么做。其次,在像Stack Overflow这样的网站上,这是一个非常糟糕的主意™ 发布一个问题并在接下来的几个小时内消失。如果你的问题无法回答,并且你无法回应其他成员的意见,那么当你回来发现问题已经解决,或者更糟的是,没有任何回应时,不要感到惊讶。@BoltClock:谢谢。我会记住的不。第一次我只需按一次“替换”。你可以试试。我正在使用记事本++v6.2.2,我试过:)可能对你/我的确切意思有误解。