【发布时间】:2017-04-23 04:06:52
【问题描述】:
我正在尝试使用记事本++
输入文件有模式
(括号中的质量)
-- "command xyz d
command rererere
command ;" ( fair quality)
---- "command xyz d
command rereredfdfdre
command ffdfdfdf ;" ( good quality)
---- "command xffddyz d
command rerfdferere
command ;" ( good quality)
----"command fdfdfxyz d
command refffdrerere
command fdfdff;" ( fair quality)
我想做的是
--查找所有存在( fair quality ) 的实例(注意( and fair 之间的间距是可变的,然后用( fair quality ) 删除整个语句
o/p 是这样的:
---- "command xyz d
command rereredfdfdre
command ffdfdfdf ;" ( good quality)
---- "command xffddyz d
command rerfdferere
command ;" ( good quality)
我尝试了一些基本的正则表达式替换搜索 ( fair quality),但是如何删除 from x to y 之前的整个字符串?
请不要假设间距模式是规则的。会变的
例如
"command xyz..( fair quality);"
"command xyz (fair quality );"
2 个字符串之间的间距没有任何规律性,这可用于正则表达式工作。
有时也有不必要的换行符,例如
"command
xyz..( fair
quality);"
所以行尾假设也无济于事
所以精确的正则表达式逻辑将是
-- 去找我fair的实例
-- 在fair 实例之前找到command 的第一个实例
-- 在command 之前找到" 的第一个实例。我们将其称为X
-- 在fair 之后找到" 的第一个实例。我们将其称为Y
-- 从X删除到Y
【问题讨论】:
标签: regex string replace pattern-matching notepad++