VBScript: 正規表現で改行文字に一致させたい場合
VBScriptの正規表現で改行文字を表す表現は「\n」と「\r」です。
- \n: 改行文字と一致
- \r: キャリッジ リターン文字と一致
改行コードがvbCrLfの場合は「\r\n」、 vbLfの場合は「\n」です。 vbCrLFとvbLfのどちらにも一致させたい場合はメタ文字を使って 「\r?\n」とします。
次のサンプルコードは、正規表現を使って改行コード「vbCrLf」と
「vbLf」を「x」に置換しています。
正規表現のパターンを「\r?\n」とすることで
「\r\n」または「\n」の意味になります。
' 検索対象 str = "a" & vbCrLf & "b" & vbLf & "c" ' パターン strPattern = "\r?\n" ' RegExpオブジェクト Set objRe = New RegExp ' パターン objRe.Pattern = strPattern ' 全体を検索 objRe.Global = True ' 置換 strNew = objRe.Replace(str, "x") WScript.Echo strNew
実行結果
axbxc
正規表現で使用できる文字とエスケープ シーケンスの一覧については、
以下のMicrosoftのドキュメントを参照してください。
RegExpオブジェクト Pattern プロパティ | Microsoft Docs