1

Key-Valueリスト全体をキャプチャするJava正規表現(以下の例では太字で示されています)は何ですか?

foo bar k0 = v0、k1 = v1、k2 = v2 foo bar

,キーと値に空白文字、または。が含まれていません=

私が試したのは、Java(([^\s,=]+=[^\s,=]+),?)+正規表現テストページですが、文字列全体ではなく、個々の等式(k0=v0など)のグループが表示されます。何故ですか?どうすれば修正できますか?

4

2 に答える 2

1

正規表現ではスペースを使用できません。スペースも含めたい場合は、"foo bar"その周りを取り除くことはできません(キーまたは値の一部であると想定されます)。カンマの後にスペースを入れるだけの場合は、次のことを試してください。

(([^\s,=]+=[^\s,=]+)(?:,\s*)?)+
于 2012-06-19T01:34:28.683 に答える
1

次のようなものが機能します。

([^=|^,|^\W]+)=([^,|^\W]+)
于 2012-06-19T02:10:23.087 に答える