簡體   English   中英

這種科學符號在C#中的正則表達式將如何?

[英]How would be this scientific notation regular expression in C#?

我將此正則表達式用於科學記數法,並設置為C#中的REGEX類。

[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?

但這不是真的。

一個可能更容易的替代方法:

double.TryParse(stringInput, out doubleOutput);

Double.TryParse默認情況下處理科學計數法。

什么不起作用呢?

我看到的一個潛在問題是,您允許前導0,並且在小數后還允許尾隨0。 不確定是否要兩者都選。 您還應該使小數部分為可選,但要取決於小數點的存在。 這是我的建議:

[-+]?(0?|[1-9][0-9]*)(\.[0-9]*[1-9])?([eE][-+]?(0|[1-9][0-9]*))?

這將匹配:

0
0.1
0.01
1
1.1
1.01
10
10.1
10.01
1e1
1
1e0
1E1
1e10

不匹配:

.
01
1.0
1.10
1e01

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM