現在、2つのpreg_match_all()を実行しているので、それらを1つにマージしたいと思います。それぞれがfunctionAまたはfunctionBのいずれかのオカレンスを検出します。「this|that」を使用してthisまたはthatに一致させることは知っていますが、「%this()」または「%that()」に一致させる場合、「%this()|」に一致させるのが最適かどうかはわかりません。 %that() "または、「|」の両側に含まれるものをバインドする方法がある場合 「%this | that()」のような短いものを書くこと。これは「%this」と「that()」には一致すると思いますが、「this()」と「that()」のどちらにも一致しないと思います。私は自分の特定の問題を解決する他の方法を知っていますが、私(そしてうまくいけばこれを見つけた他の人)は「|」を適切に使用する方法を知りたいと思っています 文字列全体を繰り返す必要はありません。ここ'
$regex = '/%myFunc\(([0-9]+)\)/u';
$one = preg_match_all($regex, $text, $matches);
$regex2 = '/%otherFunc\(([0-9]+)\)/u';
$two = preg_match_all($regex2, $text, $matches2);
目標は次のような短いものです。
$regex = '/%myFunc|otherFunc\(([0-9]+)\)/u';
preg_match_all($regex, $text, $matches);