0

このjsonデータを正規表現で解析したい。でもできなかった。私はこのように試しましmodule.getid(.*)たが、うまくいきません。

ただ、この部分だけ取りたい ->module.getid(...)

module.getid([{"id":"44423"}]); module.getresult([{"result":"false"}]);

どうすればできますか?

4

2 に答える 2

1

最初 ( demo )をキャプチャしたい場合は、これを試してください:

/module.getid\((.*?)\); *module.getresult(?:.*?)\);$/m

両方のjson文字列をキャプチャする場合( demo ):

/module.getid\((.*?)\); *module.getresult(.*?)\);$/m
于 2013-07-10T10:44:11.040 に答える
0

さて、あなたがくれた新しい文字列から作業するには:

module.getid([{"id":"44423", "code":"mod_editor"}]);

これは、提供された行からのすべてのデータを適切に区分する正規表現です

m/module\x2egetid\x28\x5b\x7b\x22(?<key1>[^\x22]+)\x22\x3a\x22(?<value1>\d+)\x22\x2c\s+\x22(?<key2>[^\x22]+)\x22\x3a\x22(?<value2>[^\x22]+)\x22/

名前付きキャプチャまたはキャプチャの番号のいずれかを使用して、フィールドを参照できます。

この場合、この文字列で 44423 であるデータの部分だけを返すには、キャプチャ番号 '2' またはキャプチャ名 'value1' を参照できます。

このデータの「解析」に使用している言語がわからないため、実際に動作するコードのスニペットを提供できませんでした。

于 2015-08-24T23:28:44.813 に答える