2017-12-09 12 views
0

私の正規表現パターンがSIGNING AT DUE $ 4314が$ 1385プエルトリコでは有効ではありませんオファーのディーラー 貢献を示唆した36ヶ月間の月額$ 389•一度だけマッチする方法は?

ようになります。リースファイナンス は、BMWファイナンシャルサービスの与信要件を満たす の優秀な資格を持つ資格のある資格のある顧客に、 のBMWセンターからBMWファイナンシャルサービスを通じて 2018年1月2日まで、新しい2017 BMW 330i xDrive Sports Wagonモデルで利用できます。 36ヶ月間の月額389ドルの月額リース料は、 調整後の資本化費用38,210ドル(MSRP = 45,595ドル、 の宛先と処理手数料995ドル、顧客3,000ドル減、$ 0 保証金および$ 1,385の推奨ディーラー寄与および $ 3,000ホリデーリースクレジット)。実際のMSRPは異なる場合があります。ディーラー 貢献は変更される場合がありますし、あなたの実際の毎月のリース の支払いに影響を与える可能性があります。署名に必要な現金には$ 3,000の前払い、$ 389の最初の 月の支払い、$ 925の手数料、$ 0の保証金が含まれます。リース期間中の保険を担当 、過剰摩耗借手とリース契約で定義されているリース終了時に30,000マイル、$ 350の 処分料を超える/マイル$ 0.25 を引き裂きます。保証金の免除については、すべてのお客様が の対象となるわけではありません。税金、タイトル、ライセンス、および登録料 は署名のために追加料金がかかります。広告されたお支払いは には適用税が含まれていません。リース終了時の購入オプション(税抜き、 のタイトルと政府手数料)は$ 27,813です。オファーは02年1月2日まで有効で、 2018であり、特記のない限り、他のオファーと組み合わせることができます。描か モデルメタリック塗料及び/又は追加の アクセサリーを示すことができます。重要な詳細については、認定BMWセンターをご覧ください。北アメリカ、LLCの ©2017 BMW。 BMWの名前、モデル名、ロゴは0120-356-は登録商標です。

は、私はその二回出てくるしかし、この場合に

である、数ヶ月前に番号を一致させたいです。一度だけ一致させる方法はありますか?私は

\d+\s*(?=(months+?))を使用してい

はあなたの助けをありがとう!

+0

あなたはテキストファイルに2度書かれています。最初に一致させる場合は、ツールの詳細を使用する必要があります。 'grep'を使うと' -m1'を使って最初のマッチの後に終了します。 – karakfa

+0

「36ヶ月」が表示されます*このテキストでは2回* ... – alfasin

+0

プログラミング言語でタグ付けする必要があります。それは複数行のテキストですか? – yacc

答えて

0

たぶん、あなたは、文字列の先頭から数ヶ月前に、最初の36を検索し、グループでそれをキャプチャすることができます:

^.*?(\d+)(?=\smonths)

  • マッチ文字列^
  • マッチ任意の開始文字0回以上貪欲でない.*?
  • グループ内の1桁以上の数字をキャプチャする(\d+)
  • 次に続くものが空白と月である場合は、先読みを有効にしてください。(?=\smonths)
+0

こんにちは、私の質問にお答えいただきありがとうございます。私はあなたのコードを試しましたが、私はそれをキャプチャ "私は36ヶ月あたり369ドル"私は "36"をキャプチャしたい。私は何か間違っているのですか? –

+0

@Omidffあなたが今キャプチャしているのは、完全に一致したものです。あなたが探している価値は、最初の[取得グルー​​プ](https://www.regular-expressions.info/refcapture.html)にあります。どのプログラミング言語を使用しているのか、どのように使用したいのかを教えてください。 –