文字列中の正規表現パターンに一致する箇所を別の文字列に置換して返す
RegExReplace(Haystack, NeedleRegEx [, Replacement = "", OutputVarCount = "", Limit = -1, StartingPos = 1])
引数名 | 説明 |
---|---|
Target | 置換対象となる文字列 |
Pattern |
検索・置換する正規表現パターン。詳細は正規表現の項を参照。 オプションはパターンの前に「)」で区切って記述する(例:「im)\.jpe?g$」) オプションがない場合は、「)」は不要。(例:「\.JPE?G$」) |
Replacement |
パターンに一致した箇所に代わりに挿入する文字列を指定。 以下のものが含まれている場合、該当する文字列が埋め込まれる。
|
OutputVarCount | 置換が行われた数を格納する変数を指定する |
Limit |
置換を行う回数の上限を指定する。 「-1」を指定すると、存在する全ての一致箇所が置換される。 「1」以上の整数を指定すると、先頭から指定した数までの一致箇所のみが置換される。 |
StartingPos |
Target内での検索を開始する位置。先頭は「1」。 Targetの文字数より大きい値を指定した場合は、空の文字列(Targetの最後の0文字の範囲)に対し検索・置換が行われる(通常はどこも置換されない)。 0以下の値を指定した場合は、文字列の末尾から指定文字数分の範囲が検索される。 例えば、「0」を指定した場合は、文字列の最後の1文字だけが、「-1」を指定した場合、後ろの2文字が検索される。 Targetの長さを超える場合は、Target全体が検索される。 省略時は「1」(Targetの先頭から検索)。 |
置換した後の文字列
何らかのエラーが発生した場合は、Targetがそのまま返る。
正常に検索・置換が行われた場合は、「0」。
エラーで検索・置換が行われなかった場合は、以下の値になる。
RegExMatch(), SetTitleMatchMode RegEx, StringReplace, InStr()
NewStr := RegExReplace("abc123123", "123$", "xyz") ; Returns "abc123xyz" because the $ allows a match only at the end. NewStr := RegExReplace("abc123", "i)^ABC") ; Returns "123" because a match was achieved via the case-insensitive option. NewStr := RegExReplace("abcXYZ123", "abc(.*)123", "aaa$1zzz") ; Returns "aaaXYZzzz" by means of the $1 backreference. NewStr := RegExReplace("abc123abc456", "abc\d+", "", ReplacementCount) ; Returns "" and stores 2 in ReplacementCount.