1

私は以下の文字列を持っています:

"\n  - MyLibrary1 (= 0.10.0)\n  - AFNetworking (= 1.1.0)\n  - MyLibrary2 (= 3.0.0)\n  - Objective-C-HMTL-Parser (= 0.0.1)\n\n"

次のようなJSONを作成したい:

{
"MyLibrary1": "0.10.0",
"AFNetworking": "1.1.0",
"MyLibrary2": "3.0.0",
"Objective-C-HMTL-Parser": "0.0.1"
}

「MyLibrary1」と「0.10.0」、および同様に他のデータを分離して文字列を作成する必要があります。文字列からデータを分離する正規表現に取り組んでいます。

/-(.*)/andを試しましたが、これはand の/=(.*)/後のすべてを返します。-=

単一の正規表現を使用して必要なデータを取得する方法はありますか? また、またはで停止する必要があることを正規表現に知らせるにはどうすればよいです()。私はこれをテストするためにRubularを使用しており、入力するたびに(、または)「括弧が一致していません」と表示されます。

4

3 に答える 3

1

次の正規表現を使用できます。

-\s*(\S+)\s*\(\s*=\s*(\S+)\s*\)

キーの一致結果はキャプチャ グループ#1に、値の一致結果はグループに含まれます。#2

紅斑

于 2014-09-16T18:47:04.857 に答える
0
-\s{1}([A-Za-z0-9]+)\s+\(=\s+([0-9\.]+)\)

一致を返します:

$1 AFネットワーキング $2 1.1.0

等...

紅斑

于 2014-09-16T18:50:48.987 に答える