gpt4 book ai didi

regex - 如何将正则表达式匹配存储在变量中以与 Notepad++ 中的搜索/替换一起使用

转载 作者:行者123 更新时间:2023-12-04 23:55:20 24 4
gpt4 key购买 nike

我需要使用模式捕获一个单词并将其存储在某个地方以用于替换操作:

例如我有这个文本

ab iiids
as sasas
md aisjaij
as asijasija

我能够使用以下模式在第一个空间之前捕获everething:
.*?(?=[" "])

假设我可以使用“$”来表示搜索和替换中的匹配项,因此我希望在替换字段中包含以下内容
INSERT INTO table (value) VALUES ("$")

找不到解决方案。
这甚至可能吗?

最佳答案

是的,$&$0表示替换字符串中的整个匹配项:

Find what: .*?(?=[ ])
Replace with: INSERT INTO table \(value\) VALUES \("$0"\)

请注意,您不需要字符类中的引号。否则,您的匹配也将在报价处停止。另请注意,还有另一个问题,您必须在替换字符串中转义括号(感谢 acdcjunior 注意到这一点)。那是因为 Notepad++ 使用 boost,它支持括号分隔的条件构造。

使用您的输入,这将导致
INSERT INTO table (value) VALUES ("ab") iiids
INSERT INTO table (value) VALUES ("as") sasas
INSERT INTO table (value) VALUES ("md") aisjaij
INSERT INTO table (value) VALUES ("as") asijasija

对于更高级的用例,您可以将部分正则表达式括在括号中,并引用它们与 $1 匹配的子字符串。 , $2 , 等等。

顺便说一句,更明确的模式是:
^[^ ]*(?=[ ])

这可确保您不会在不需要的地方获得额外的匹配项。

最后, here is a reference您可以在替换字符串中执行的所有操作。

关于regex - 如何将正则表达式匹配存储在变量中以与 Notepad++ 中的搜索/替换一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17330000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com