VBScript 正则表达式插入行

VBScript Regular Expression Insert Line

我尝试使用 VBScript 在文件中的 2 个特定行之间插入一行:

# 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$

有什么想法吗? 谢谢

RegExpReplace=regEx.Replace(Source,"# Ligne 1" & vbCrLf & " # Ligne 1 bis" & vbCrLf &"# Ligne 2")

您将找到的与 正则表达式 匹配的 字符串 替换为指示为替换的 字符串 (捕获组占位符除外)。在 VBScript 中 \r\n 与正则表达式中的含义不同,因此,如果您需要包含回车符 return 和换行符,则需要直接将它们连接起来