问题
需要一个正则表达式用于替换输入字符(或者文件)中两个标志之间的个行。
说明:被替换的文件是Inno安装程序的[Files]块的内容,类似于Ini文件的格式。
请帮忙确认
exp.Pattern = "(;ReplaceBeginMark;)([.\r\n]*$)(;ReplaceEndMark;)"
的内容,谢谢!
VBS脚本代码如下,
'
' 文件:upfile.vbs
' 说明:更新 iss文件的 Files块
'
'
Entry
Sub Entry()
Const ForReading = 1, ForWriting = 2, ForAppending=8
Dim issFile
Dim tempstr
filename="rel.iss"
' 读取文件
'tempstr = ReadAll(filename)
'源字符串,需要替换掉ReplaceBeginMark所在行到ReplaceEndMark所在行中间的所有行
tempstr="[Files]" & vbCrLf & ";ReplaceBeginMark;" & vbCrLf & ";Source: E:\Dev\Client\App.exe; DestDir: {app};" & vbCrLf & ";ReplaceEndMark;" & vbCrLf
'MsgBox "源:" & vbCrLf & tempstr
Dim exp
' 正则查找
Set exp = New RegExp
exp.Global = True
exp.Pattern = "(;ReplaceBeginMark;)([.\r\n]*$)(;ReplaceEndMark;)"
If exp.test(tempstr) Then
MsgBox "匹配!"
Else
MsgBox "没有找到"
End If
End Sub