0

ここに画像の説明を入力ここに画像の説明を入力Jメーター:

「ci」の値を取得する必要があるJSONがあります。

次の RegEx を使用しています: ci:\s*(.*?)\" と次の結果を取得しています RegEx テスター: Match count: 1 Match 1 [0]=ci: 434547" Match 1 =434547

問題は、マッチ1 [0] にスペースが含まれているため、負荷テストの実行中に「サーバー エラー - JSON をオブジェクトに変換できませんでした」というメッセージが表示されることです。

この正規表現を修正するのに助けが必要です。

4

1 に答える 1

0

基本的に、正規表現は問題ありません。これも私が探す方法です。最初のグループ(Match[1])434613、探している値である を提供します。あなたが使用しているソフトウェアを知らないので、その一致だけを使用してもうまくいかない理由がわかりません。

これを回避するアイデアは次のとおりです。値が常に文字列内の唯一の数値である場合、正規表現を次のように単純化できます。

\d+

これにより、少なくとも 1 桁の長さの数値が得られます。ただし、文字列に他の数値があり、それらの長さが異なる場合は、これを試してください。

\d{m,n}   --> between m and n digits long
\d{n,}    --> at least n digits long
\d{0,n}   --> not more than n digits long

これは元の RegEx ほど安全ではありませんが (特定の条件を想定しているため)、グループを探す必要はなく、一致したテキスト全体を使用するだけなので、あなたのケースではうまくいくかもしれません。それが役に立ったかどうか教えてください!

于 2013-06-17T12:05:01.903 に答える