RegExMatch

概要 

正規表現を使用して、文字列の情報を検索できます。.NET RegexOptions 列挙の値 (IgnoreCase や Multiline など) を使用します。

構文 

RegExMatch(1, 2, 3, 4)

関数のプロパティ 

序数説明
1string必須検索する文字列
2string必須検索で使用する正規表現
3string必須返す一致グループの名前または序数
4string必須使用する正規表現オプションの、繰り返される文字列パラメーター

使用状況 

以下のサンプル AMPscript は、正規表現を割り当てて、RegExMatch 関数を使用して文字列を検索し、結果を得る方法を示しています。

1%%[
2VAR @sourceStr, @regEx1, @regEx2
3SET @sourceStr = 'ABC_123_DEF_456';
4/* RegEx without group names */
5SET @regEx1 = '.*_([0-9]+)_.*_([0-9]+)'
6/* RegEx with group names */
7SET @regEx2 = '.*_(?<FirstNumber>[0-9]+)_.*_(?<SecondNumber>[0-9]+)'
8]%%
9By Group ID:
10Group 1:  %%=RegExMatch(@sourceStr, @regEx1, 1)=%%
11Group 2:  %%=RegExMatch(@sourceStr, @regEx1, '2')=%%
12By Group Name:
13First Number:   %%=RegExMatch(@sourceStr, @regEx2, 'FirstNumber')=%%
14Second Number:  %%=RegExMatch(@sourceStr, @regEx2, 'SecondNumber')=%%
15%%[
16/* Check for possible match. */
17VAR @result
18SET @result = RegExMatch('ABC_dEF_GHI', '.*_(D..)_.*', 0, 'IgnoreCase', 'Multiline')
19IF Length(@result) > 0 THEN]%%
20Matched!
21%%[ ELSE ]%%
22No match...
23%%[ ENDIF ]%%