1

136.50以下だけで撮りたい

   $136.50 (was $195.00)

別の価格が先行している場合に価格をグループ化しないように、ネガティブルックビハインドを使用しようとしています。これは私が持っているものです:

(?<!\$.+)\$(?<price>[\d.,]+)

私は何が間違っているのですか?

編集:問題は、ルックアラウンド内で可変長の文字列を使用できないことだと思いますが、それなしで正規表現を構築する方法がわかりません。

編集:価格が1つしかない場合もあります。その場合は、その価格をグループ化します。これが、価格が最初の価格であることを確認するために前向きな先読みを使用しなかった理由です。

4

3 に答える 3

3

ネガティブルックビハインドを使用せず、最初の価格を取得します(最初のグループ、および端数がある場合は2番目のグループ)。多分このような何か?

/^.*?\$([\d,]+)(\.\d\d)?/
于 2012-10-26T18:30:19.853 に答える
0

わかりました、それで私はあなたも最初の価格を取るべきだと思います:

これは、すべての価格と一致する必要があります。数千のコマ、フクロウステッドのこのような /^.*?\$(\d{1,3}(?:,\d{3})*(?:\.\d+)?).*$/

于 2012-10-26T18:37:46.400 に答える
0

あなたはこのようなものを使うことができます

/(\$\d*.\d*)(?!.\1)/

これは最初のグループと一致し、同じグループが続くことはありません

于 2012-10-26T18:37:56.463 に答える