私はいくつかのRegExを動作させようとしていますが、私の特定の使用例では少し失敗します。Regex - 複数の一致、コロン、空白
Device-1: P0_Node0_Channel0_Dimm0
size: 32 GB
speed: 2133 MHz
type: DDR4
だから私は少しの周りにしようと、いくつかの表現に
(.*?):\s
をテストした:
は、私は、好ましくは、そのように、この文字列から情報を抽出したいの例
Device-1: P0_Node0_Channel0_Dimm0 size: 32 GB speed: 2133 MHz type: DDR4
ための次の文字列を考えます
いくつかの点ではうまくいきます。最初のパラメータ名を適切にキャッチしますが、それ以降はスペースを使いません。
:\s(.*?)\s\w*?:!?
これは、3番目のパラメータ値の空き領域をキャッチしますが、1番目と3番目の値のみを返します。また、パラメータ名もありません。
予想される動作をどのように達成できるか考えている人がいますか?
注:Excel VBAでこれを実行していますが、すべての機能がサポートされているかどうかはわかりません。
おかげ
アメージング、ありがとうございました! 2回目のグループマッチの終了時にスペースを削除する答えを編集しました。 回答が受け入れられました。 そして、6文字制限のために "may"を "use"で編集しなければなりませんでした。 – CuttingWide
@CuttingWide:申し訳ありませんが、あなたは '([^ \ s:] +):\ s *(?*?)\ s *(?= [^ \ s:] +:| $)私は答えを編集しました。 –