正则表达式,如何替换两个标志行之间的N行?
问题
需要一个正则表达式用于替换输入字符(或者文件)中两个标志之间的个行。
说明:被替换的文件是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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论