正規表現を使用してこの文字列を分割(または一致)するにはどうすればよいですか?
a=1,b=2,c=3,4,5,d=6,e=x,y,z
基本的な形式はname=value,name=value
、値にコンマを含めることができ、名前は常に英数字です。
私は最終的に次のようにしようとしています:
a=1
b=2
c=3,4,5
d=6
e=x,y,z
私が最初に考えたのは、値にコンマが含まれているため文法があいまいであるということでしたが、名前にが含まれていないため、実行可能であると思います=
。
これは近いですが、末尾のコンマを各値に一致させ、最後の値と一致しませんz
:
(?<name>\w+)
\s*=\s*
(?<value>
\S
(?:
,
|
.[^=]
)*
)
これらの一致を生成します:
a=1,
b=2,
c=3,4,5,
d=6,
e=x,y,
ここに正規表現ウィザードはありますか?