我需要驗證一個字符串是否以下列格式 {X:Y}或{X,Y,...,Z}其中x,y和z是整數或雙打。 我想我要麼需要一個reg-ex和/或解釋器。 有誰知道如何去做這件事? 也建議這樣做的圖書館將深受讚賞。正則表達式或解釋器來解釋的整數/雙範圍輸入
第二步應該有一個解釋器來解釋這樣的表達式: 0.5 * {0.4,0.6,0.7} - > {0.2,0.3,0.35}。我意識到最佳的方法是爲解釋器可以使用的語法定義一個語法。
感謝, 乙
我需要驗證一個字符串是否以下列格式 {X:Y}或{X,Y,...,Z}其中x,y和z是整數或雙打。 我想我要麼需要一個reg-ex和/或解釋器。 有誰知道如何去做這件事? 也建議這樣做的圖書館將深受讚賞。正則表達式或解釋器來解釋的整數/雙範圍輸入
第二步應該有一個解釋器來解釋這樣的表達式: 0.5 * {0.4,0.6,0.7} - > {0.2,0.3,0.35}。我意識到最佳的方法是爲解釋器可以使用的語法定義一個語法。
感謝, 乙
鑑於有一個101種不同的雙格式和Double.TryParse()被內置到.NET框架。
我會使用一個正則表達式或只是string.split得到的字符串數組包含您的「X,Y,Z」值,然後調用Double.TryParse上的每個值。
當你有兩個可能的格式,我會首先檢查如果輸入的字符串包含「:」再有獨立的代碼,以分割每種格式,從而使代碼更容易理解。
這是個好主意,謝謝!我想盡可能地利用.net內置函數。我只是想知道是否存在這樣做的開源庫。 – Bogdan
我不是在正則表達式大自己,但我使用這個我讓他們來源:http://www.regexlib.com/它也包括在該網站上小抄和正則表達式測試,因此您可以創建他們自己很容易。
希望這會有所幫助!
如果你想查詢這兩種類型的一次更改正則表達式來首先選擇
\{[0-9]+(\.[0-9]+)?:[0-9]+(\.[0-9]+)?\}
二
\{[0-9]+(\.[0-9]+)?(,[0-9]+(\.[0-9]+)?)+\}
使用
var text = "{1.4,65,2.56}";
Regex regex = new Regex("\{[0-9]+(\.[0-9]+)?(,[0-9]+(\.[0-9]+)?)+\}");
if(regex.IsMatch(text))
{
//string matches your criteria
}
:
\{([0-9]+(\.[0-9]+)?:[0-9]+(\.[0-9]+)?)|([0-9]+(\.[0-9]+)?(,[0-9]+(\.[0-9]+)?)+)\}
什麼樣的雙符號的,我們談論的?只有1.2或財產以後像1.2E-10 –
是的,只有1.2一種都會好起來 – Bogdan