配列のようなテキストを正規表現で解析し、一致グループを取得する必要があります。解析したいテキストの一例は次のとおりです。
['red','green', 'blue']
それらを抽出したいので、一致グループを使用したい。この正規表現を使用していますが、それによって見つかったグループは、期待したものとは異なります。
\[ *('.+?')( *, *('.+?'))* *\]
アイデアは、次の順序で解析することです。
- 角括弧
- 任意の数のスペース
- 次のグループ:
- 一重引用符
- 任意の文字
- 一重引用符
- 以下の 0 個以上のグループ:
- 任意の数のスペース
- コンマ
- 任意の数のスペース
- とのグループ
- 一重引用符
- 任意の文字
- 一重引用符
- 任意の数のスペース
- 角括弧
そして、解析された配列要素ごとに 1 つのグループを取得します。
手伝って頂けますか?
ヒント: regexp をテストする簡単な方法は、サイトhttp://rubular.comです。