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 和换行符,则需要直接将它们连接起来
我尝试使用 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 和换行符,则需要直接将它们连接起来