VBScript preg_quote 関数

正規表現文字をクオートする


Function preg_quote(ByVal str,delimiter)

    Dim pattern : pattern = array("\",".","+","*","?","[","^","]","$","(",")","{","}","=","!","<",">","|",":")
    If len(delimiter) > 0 Then [] pattern , delimiter

    Dim key
    For key = 0 to uBound(pattern)
        str = Replace(str,pattern(key),"\" & pattern(key))
    Next
    preg_quote = str

End Function

引数

str = string 入力文字列。
delimiter = string オプションの delimiter を指定すると、 ここで指定した文字もエスケープされます。これは、PCRE 関数が使用する デリミタをエスケープする場合に便利です。’/’ がデリミタとしては 最も一般的に使用されています。

戻り値

クォートされた文字列を返します。

処理

・ preg_quote() は、str を引数とし、正規表現構文の特殊文字の前にバックスラッシュを挿入します。
・ この関数は、実行時に生成される文字列をパターンとしてマッチングを行う必要があり、 その文字列には正規表現の特殊文字が含まれているかも知れない場合に有用です。
・ 正規表現の特殊文字は、次のものです。 . \ + * ? [ ^ ] $ ( ) { } = ! < > | :

その他の PHP regexp 関数