@RegexReplace

String @RegexReplace(String s, Regex regex, String replace, Boolean global?)

説明

sで指定した文字列中のregexで指定した正規表現にマッチする文字列をreplaceで指定した文字列に置換します。マッチしなかった場合には何もしません。globalがTrueの場合には文字列中の全てのマッチした文字列が置換されます。Flaseの場合や指定されなかった場合には始めに見つかった文字列のみが置換されます。

置換文字列中で正規表現によってキャプチャされた文字列を使用したい場合には、$<数値>を使用します。$0はマッチした文字列全体をあらわし、$1以降は各キャプチャされた文字列をあらわします。

正規表現でキャプチャされた文字列は、以降のマクロで$_<数字>でアクセスできます。$_0はマッチした文字列全体をあらわし、$_1以降は各キャプチャされた文字列をあらわします。

regexには正規表現以外が指定された場合には、文字列に変換した上で正規表現としてコンパイルされます。

引数

String s
文字列
Regex regex
正規表現
String replace
置換文字列
Boolean global
全てを置換するかどうか

エラー

条件

なし

# 正規表現で置換
# -> abcz23
@RegexReplace('abc123', /[0-9]/, 'z')

# 全体を置換
# -> abczzz
@RegexReplace('abc123', /[0-9]/, 'z', @True())

# Subjectの先頭からRe:を削除
@RegexReplace(Subject, /^Re(?:^[0-9]+)?: *(.*)$/i, '$1')