我需要在模式中插入一行,如果它不存在的话。 (我正在使用Notepad ++)
如果文件中的部分是正确的,则这是一个示例:
/* Name */ Msg_OvVersion,
/* AccessRights */ LGHQRead,
/* Masks */ MSK_Diagnostics,
/* Feature */ NoFeature,
/* Version */ Version(2,0,0));
在某些文件中缺少Feature
行。如果是这样,我需要插入它。错误文件的示例:
/* Name */ Msg_OvVersion,
/* AccessRights */ LGHQRead,
/* Masks */ MSK_Diagnostics,
/* Version */ Version(2,0,0));
我尝试了以下内容:
Replace: (\/\* Masks.*\,).*\/\* Version
With: \1\n/* Feature */ NoFeature,\n/* Version
但这并没有真正起作用,它取代了整个文件..我错过了什么吗?在此先感谢!!
答案 0 :(得分:1)
这应该有效:
(\/\*\s+Masks\s+\*\/[^\r\n]*\r?\n)(\/\*\s+Version\s+\*\/[^\r\n]*)
这是DEMO
在Notepad ++中
找到:
(\/\*\s+Masks\s+\*\/[^\r\n]*\r?\n)(\/\*\s+Version\s+\*\/[^\r\n]*)
替换为:
$1/* Feature */ NoFeature,\r\n$2
答案 1 :(得分:1)
答案 2 :(得分:0)
您需要捕获 Masks 和&然后在版本之间插入:
Find: (\*\s*Masks.*)(\r\n/\*\s*Version.*)
Replace: \1\r\n/* Feature */ NoFeature,\2
(确保“ 。 匹配换行符”已关闭)