re.capture
re.capture(stringText, regex)
説明
引数で指定された正規表現パターンを使用して、文字列からデータをキャプチャ(抽出)します。
この関数は次の 2 つの引数を取ります。
stringText
: 検索する元の文字列。regex
: 検索するパターンを示す正規表現。
正規表現では、0 または 1 つのキャプチャ グループをかっこで囲むことができます。正規表現にキャプチャ グループがない場合、この関数は最初に一致した部分文字列を返します。正規表現に 1 つのキャプチャ グループが含まれている場合、キャプチャ グループの最初の一致部分文字列が返されます。2 つ以上のキャプチャ グループを定義すると、コンパイラ エラーが返されます。
パラメータのデータ型
STRING
、STRING
戻り値の型
STRING
コードサンプル
例 1
この例では、$e.principal.hostname
に「aaa1bbaa2」が含まれていれば、この関数は最初のインスタンスを返すため、以下は true になります。この例にはキャプチャ グループはありません。
"aaa1" = re.capture($e.principal.hostname, "a+[1-9]")
例 2
この例は、メール内の @ 記号より後ろのすべての部分を取得します。$e.network.email.from
フィールドが test@google.com
の場合、この例では google.com
が返されます。次の例では、1 つのキャプチャ グループが含まれています。
"google.com" = re.capture($e.network.email.from , "@(.*)")
例 3
正規表現がテキスト内のどの部分文字列とも一致しない場合、この関数は空の文字列を返します。空の文字列を除外することで、一致しないイベントを省略できます。これは、不等号で re.capture()
を使用している場合に特に重要です。
// Exclude the empty string to omit events where no match occurs.
"" != re.capture($e.network.email.from , "@(.*)")
// Exclude a specific string with an inequality.
"google.com" != re.capture($e.network.email.from , "@(.*)")