正確に 2 つのグループをキャプチャする場合は、次を使用します。
(?<token>#gallery\s+(?<id>[^\s#]+)\s+(?<foo>[^\s#]+)#)
グループfooには、2 番目のキャプチャ グループが含まれます。\sスペース以外の空白文字を説明するために を使用し\s+、グループ間で を使用してパラメータ間に複数の空白文字を許可することに注意してください。
ゼロ、1、または2 つのグループをキャプチャするには、次を使用します。
(?<token>#gallery(?:\s+(?<p1>[^\s#]+)(?:\s+(?<p2>[^\s#]+)(?:\s+(?<p3>[^\s#]+))?)?)?#)
グループp1、p2、およびp3には、一致する必要のない最初のグループが表示されtokenます。
任意の数のグループ (なしを含む) をキャプチャするには、次を使用します
(?<token>#gallery(?:\s+(?<id>[^\s#]+))*#)
Valueof グループidには最後に一致したパラメーターのみが含まれますが、そのプロパティCapturesには他のすべてのパラメーターが含まれます。