この正規表現を使用して、8桁の符号付き浮動小数点数を照合しています。
string exp= "12345678";
string regEx1="^([-+]?[(\\d+\\.?(\\d+)?)]{1,8})($)";
Regex topRowRegx = new Regex(regEx1, RegexOptions.IgnoreCase | RegexOptions.Multiline);
Match matchResult = topRowRegx.Match(exp.Trim());
-/ +および。に関係なく。記号は1〜8桁の数字と一致する必要があります。
-1.2345678、123.45678、+ 12.34、1.2、1、12345678、1254と一致する必要があります。10進数記号が存在する場合は、10進数の前後に少なくとも1桁の数字が必要です。
上記の式は正常に機能しますが、-/ +またはを使用すると失敗します。8桁の数字で。正確に8桁を識別し、残りの記号をカウントしたままにする方法を教えてください。
更新: VasiliSyrakisの回答は上記の問題を解決しました。好奇心のために、なぜこれが正しい結果をもたらさないのですか?
string exp = "text> -9.9999999 \"some text here\"";
var resultNumber = Regex.Match(exp, "[-+]?(\\d{1,8}|(?=\\d\\d*\\.\\d+?$)[\\d\\.]{1,9})");
("Result:"+resultNumber.ToString()).Dump();
^[-+]?(\d{1,8}|(?=\d\d*\.\d+?$)[\d\.]{1,9})$
^[-+]?(\\d{1,8}|(?=\\d\\d*\\.\\d+?$)[\\d\\.]{1,9})$
8桁の数字
を見つけるか、ピリオドまたは数字のいずれかの9つのインスタンスを見つけます...数字を区切るピリオドが1つある場合のみ。9は期間を説明するためのものです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加