1

ドットの前の 1 桁または 2 桁とドットの後の 1 桁 (0 または 5) に一致する正規表現が必要です。

少なくとも1時間は試してみましたが、私は怒っています....

考えられる結果は次のとおりです。

5,0
5,5
30,0
30,5 etc.

1桁だけ挿入する場合、次のような結果が必要です。

5 --> 5,0

私を助けてくれる人はいますか?どうもありがとう!!

4

3 に答える 3

2

1 桁または 2 桁の数字と、それに続くドット リテラル、および '0' または '5' を確認するだけです。

^\d{1,2}\.[05]$

ただし、それは1桁のものを処理しません。1 つまたは 2 つの正規表現を照合しているのと同じ正規表現で 1 つの数字を照合する簡単な方法はないため、2 番目の正規表現を使用できます。

^\d$

次に、一致するものがあれば、それを double/float に変換します。

于 2013-10-09T14:35:14.047 に答える
1

次の正規表現を試してください...

(?:\d{1,2}(?=.)|(?<=.)[50])

于 2013-10-09T14:37:53.273 に答える
0
string regex=@"(?<b>\d{1,2})(?<a>[.]0|[.]5)?";
Match m=Regex.Match(input,regex);
string result=m.Groups["b"].Value+","+m.Groups["a"].Value==""?0:m.Groups["a"].Value;

上記のコードは、入力に対してこれらの結果を提供します

550.57 => 50,5    
644 => 44,0
于 2013-10-09T14:37:19.333 に答える