私はregexには全く新しく、私の頭を完全に包むことはできません。文字列からコンマで区切った数字を抽出する方法
私は2つの正規表現を書こうとしています。もし可能であれば教えてください。どちらもVB.net構文に基づいています。
正規表現1: 私は反対テストしていた文字列 - ディスク上 サイズ:25754900936バイト
それは先頭のスペースの一握りを持っていますが、テキストは常に同じです。私はちょうど番号(25,754,900,936)を抽出しようとしています。
私はいくつかの正規表現を試しましたが、すべてを1行で取得することはできません。コンマは私を混乱させ、複数のマッチを返す(例えば、\ d + \ W +はコンマで区切られた数字のセットごとに1つずつ、4つのマッチを与える)。
私がしたことは[0-9/、] *しかし、それは私に25の空のマッチと1つのマッチ(マッチ19)を与えます。マッチ1でマッチする必要があります。
Doable?文字列からこのような数字を抽出できる正規表現を見ると、本当に役に立ちます。
正規表現2:
同じアイデアだが、今やマルチライン。
私は反対テストしてる文字列 - 私はその最後の行(25705262230)にJUST総バイト数を必要とする
0 File(s) 0 bytes
1 File(s) 11,546 bytes
1 File(s) 259,584 bytes
3 File(s) 5,682 bytes
17218 File(s) 25,705,262,230 bytes
。これを複数行の検索で行うことは可能ですか?同じ取引 - テキストは常に同じです。ちょうど番号を抽出するためにあなたの最初の正規表現については
ジェームズ - 両方とも確かに動作しましたが、私は実際にこれを使用していません。ネット - 私は正規表現を行うことができますサードパーティのアプリケーションを使用しています。残念ながら、最初のキャプチャ、最初のグループでしか動作しません。その位置にそれを取得するには、2番目の正規表現上の任意の方法?今のところ、最初のグループの最初のキャプチャではバイトという単語が残っていますが、そうでなければ完璧です。 – Pat
@Patああ私は心配していない。文字列の最後(キャプチャしたくない 'バイト')が含まれないように、先読みを追加する必要があります。私は上記の2番目の正規表現を修正しました。それが動作すれば私に教えてください - 単純に 'regex.Match(あなたの文字列)を使って、マッチした値( 'バイト'なし)を抽出しました。値' –
パーフェクト - ありがとう! – Pat