我尝试在带有VBScript的文件中的两个特定行之间插入一行:
# Ligne 1
# Ligne 2
=>
# Ligne 1
# Ligne 1 bis
# Ligne 2
我的脚本代码是:
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "# Ligne 1\r\n# Ligne 2"
regEx.Pattern = patrn
regEx.IgnoreCase = not Casse
regEx.Global = True
RegExpReplace=regEx.Replace(Source,"# Ligne 1\r\n# Ligne 1 bis\r\n# Ligne 2")
已找到表达式但替换文本很糟糕。 结果是:
# Ligne 1\r\n# Ligne 1 bis\r\n# Ligne 2
我试过了:
regEx.Pattern = "^# Ligne 1$\r\n^# Ligne 2$"
regEx.IgnoreCase = not Casse
regEx.Global = True
regEx.Multiline = True
RegExpReplace=regEx.Replace(Source,"^# Ligne 1$\r\n^# Ligne 1 bis$\r\n^# Ligne 2$")
结果是:
^# Ligne 1$\r\n^# Ligne 1 bis$\r\n^# Ligne 2$
有什么想法吗? 感谢
答案 0 :(得分:1)
RegExpReplace=regEx.Replace(Source,"# Ligne 1" & vbCrLf & " # Ligne 1 bis" & vbCrLf &"# Ligne 2")
您将与正则表达式匹配的字符串替换为指示为替换的字符串(捕获组占位符除外)。在VBScript \r\n
内部与正则表达式中的含义不同,因此,如果需要包含回车符和换行符,则需要直接连接它们