加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在变量中存储正则表达式匹配以与记事本中的“搜索/替换”一

发布时间:2020-12-14 05:55:53 所属栏目:百科 来源:网络整理
导读:我需要使用模式捕获一个单词并存储在某个地方以用于替换操作: 例如,我有这个文本 ab iiidsas sasasmd aisjaijas asijasija 我可以使用以下模式捕获第一个空格之前的所有内容: .*?(?=[" "]) 假设我可以使用’$’代表搜索和替换中的匹配,所以我想在替换字段
我需要使用模式捕获一个单词并存储在某个地方以用于替换操作:

例如,我有这个文本

ab iiids
as sasas
md aisjaij
as asijasija

我可以使用以下模式捕获第一个空格之前的所有内容:

.*?(?=[" "])

假设我可以使用’$’代表搜索和替换中的匹配,所以我想在替换字段中包含以下内容

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项所有操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读