6

次のように文字列を分割したい:

colors = blue, green, yellow, kinda violet\, not sure,purple\=almost magenta

正規表現を使用すると、結果は次のようになります

colors
blue
green
yellow
kinda violet\, not sure
purple\=almost magenta

私は何時間も試してきましたが、このような醜い構造では成功しませんでした (preg_match_all の場合):

/(.*)\s*[=]\s*((.+)\s*,\s*)*/

そしてこれ(preg_split用)

/\s*[=,^(\\,)^(\\=)]\s*/

私が間違っていることを教えてください。

4

2 に答える 2

1

あまりエレガントではありませんが、これは preg_split でうまくいくはずです

/(\s*=\s*)|(\s*,\s*)|(\s*\\=\s*)|(\s*\\,\s*)/g

最も重要なことは、グローバル マッチングの最後にある g を忘れないことです。

于 2013-03-22T12:48:47.630 に答える