「{X}」または「{XX}」の形式の特別なフラグを含むテキストデータを使用しています。Xは任意の英数字です。これらのフラグが隣接している場合、または分離されている場合、これらのフラグには特別な意味が割り当てられます。隣接するフラグと一致し、グループ内の各フラグを分離する正規表現が必要です。
たとえば、次の入力が与えられます。
{B}{R}: Target player loses 1 life.
{W}{G}{U}: Target player gains 5 life.
出力は概算である必要があります。
("{B}{R}",
"{W}{G}{U}")
("{B}",
"{R}")
("{W}",
"{G}",
"{U}")
私のPHPコードは隣接する配列を正しく返していますが、分割配列には各グループの最後に一致するフラグのみが含まれています。
$input = '{B}{R}: Target player loses 1 life.
{W}{G}{U}: Target player gains 5 life.';
$pattern = '#((\{[a-zA-Z0-9]{1,2}})+)#';
preg_match_all($pattern, $input, $results);
print_r($results);
出力:
Array
(
[0] => Array
(
[0] => {B}{R}
[1] => {W}{G}{U}
)
[1] => Array
(
[0] => {B}{R}
[1] => {W}{G}{U}
)
[2] => Array
(
[0] => {R}
[1] => {U}
)
)
助けてくれてありがとう!