我有一个数据输入文件,看起来像:
Menu: textA
Resource Id: 59517
Picture File Name:
Status Text:
Menu Item Name:
.data CLASSPROPSSIZE
0000: 2400
.enddata
.data CLASSPROPS
0000: 4F004C0045005F00 4D0045004E005500 5F00470052004F00 550050000000FFFE
0020: 02000000
.enddata
Resource Id: 45367
Picture File Name:
Enabled when:
Status Text:
Menu Item Name:
Menu Item: TextB
.data CLASSPROPSSIZE
0000: 2400
.enddata
.data CLASSPROPS
0000: 4F004C0045005F00 4D0045004E005500 5F00470052004F00 550050000000FFFE
0020: 02000000
.enddata
我还需要删除带有.data和.enddata行的整个.data和.enddata块。
不幸的是,我无法编写一个正则表达式来从输入数据中删除所有不必要的数据块。
答案 0 :(得分:1)
尝试此正则表达式:
\.data(?:(?!\.enddata)[\s\S])*\.enddata
将每个匹配项替换为空白字符串。
说明:
\.data
-匹配.data
(?:(?!\.enddata)[\s\S])*
-匹配0+次出现的不以.enddata
开头的任何字符\.enddata
-匹配.enddata