我想在记事本++ 中使用regular expression
删除两个字符串之间的文字。这是我的完整字符串
[insertedOn]) VALUES (1, N'1F9ACCD2-3B60-49CF-830B-42B4C99F6072',
我想要这样的最终字符串
[insertedOn]) VALUES (N'1F9ACCD2-3B60-49CF-830B-42B4C99F6072',
我从字符串中删除了 1,。 1,2,3 按递增顺序排列。
我尝试了许多表达但没有奏效。其中一个是(VALUES ()(?s)(.*)(, N')
如何删除此内容?
答案 0 :(得分:1)
您应首先在(
之前逃避文字VALUES
:\(
通过这样做,除了.*
(DOTALL)标志之外,正则表达式中的s
会导致引擎贪婪地匹配到输入字符串的结尾,然后回溯到第一次出现{{1这意味着意外的匹配。
为了改善你的正则表达式,你应该1)不明智地, N'
2)删除.*
3)逃避(?s)
:
(
为了更准确地匹配,您最好搜索:
(VALUES \().*?, (N')
并替换为零。
故障:
VALUES \(\K\d+, *(?=N')
三月VALUES \(
字面意思VALUES (
重置匹配\K
匹配逗号和可选空格前面的数字\d+, *
后跟(?=N')
答案 1 :(得分:1)