私は正規表現をあまり長く使用しておらず、正しい正規表現パターンを定義するのに苦労しています。このサイトや他の多くのサイトを検索しましたが、必要なものが見つかりません。
解析する必要があるファイルの部分文字列は次のとおりです。
As of 10 AM on:
9/7/2012 227,134 mmcf.
9/9/2011 1,224,376 mmcf.
9/10/2010 424 mmcf.
抽出する必要があるのは、ファイル内の行からの日付ではない数値です。上記の例の各行はファイル内の改行であり、日付が行の最初の単語になっています (ご想像のとおり)。日付に続く空白は、実際には 2 つのタブと 1 つのスペースです。値227,134のみを抽出する必要があり、その値を 1 から 999,999,999 まで取得できる必要があります。ご覧のとおり、カンマが値に含まれています。
どの値 (123,456; 123,224,376; および 424) にも一致するパターンを作成できましたが、各日付プロパティ (月、日、年) にも一致します。日付と空白を取得するパターンはありますが、その後の値を取得する方法がわかりません。
これが私が使用している現在のパターンです:
^(?:3[01]|[12][0-9]|[1-9])[/.-](?:1[0-2]|[1-9])[/.-][0-9]{4} [,0-9]+\b
これは次のものと一致します。
9/7/2012 227,134
9/9/2011 1,224,376
9/10/2010 424
パターンの一部を一致させ、パターンの残りの部分から除外する方法はありますか?
これに最適なアプローチは何ですか?
リストの最初の値 (この場合は227,134 ) を見つけることだけに関心があります。
よろしくお願いします。