私はRegexExtractを使用してテキストから数値を抽出しています。私は以下の正規表現[0-9]+(\.[0-9][0-9]?)?
を以下のリンクから使用しましたが、小数点以下の2つの値しか抽出していないことがわかりました。私はそれの前にも番号が必要です。それがなぜ機能していないのか分かりません。私はそれのさまざまなバリエーションも試しました。Regex - 文字列から数値(2小数点以下)を抽出します。
Simple regular expression for a decimal with a precision of 2
Iから引いていたテキストは常に同じ長さではなく、に沿って約100文字です。テキストでは、私は数値をプルする必要のある以下があるのみ(X.XX):はGmax = 2.3428
ThisWorkbook.Worksheets(Warn.MachBox.Value & "_C1").Range("B" & Duncan2 + 1).Value = RegexExtract(ThisWorkbook.Worksheets(Warn.MachBox.Value & "_C1").Range("C" & Duncan2 + 1).Value, "Gmax = [0-9]+(\.[0-9][0-9]?)?")
私はそれを持って、現在の方法と私が試したさまざまなバリエーション小数点より前の値を除いて0.34しか返しません。私は2.34が必要です。
ご意見をいただければ幸いです。ありがとう!
編集:RegexExtract関数の情報を追加するのを忘れました。この正規表現は、負と正の数のためである How to extract text within a string of text
私は(\ d +)(?:\。(\ d {1,2}))を試しましたか?私はあなたの他の提案を試みたが、それを正しく(\ d +)(\。\ d {1,2})修正したかどうかはわからなかったか?それは2、0.34を返しました。 – jmeddy
@jmeddyはい、それは正しいと私が書いたものを確認します。あなたはドットを一致させるかどうかを選択できます。 – Keelan
ありがとう、カミル。 2と34の間にコンマとスペースがある理由は何ですか?助けてくれてありがとう、私はregexを使うのが初めてです。 – jmeddy