我試圖從字符串中獲得匹配的自尊。我必須從給定的字符串中得到兩種數字。數字從5開始,由6位數字開始。 ex(5******
),從1開始後取5位數字(1*****
)。從字符串中獲取具體的數字,以c#中的整數開頭#
我用下面的regexex:
(5)[\d]{6}
(1)[\d]{5}
代碼:這裏
var sampleId5 = Regex.Match(input, @"(5)[\d]{6}");
if (sampleId5.Success)
{
string test = sampleId5.Value;
}
var sampleId1 = Regex.Match(input, @"(1)[\d]{5}");
if (sampleId1.Success)
{
string test1 = sampleId1.Value;
}
的問題是,我是否通過5106542
它返回兩者協調的結果。我也試過(^5)[\d]{6}
。儘可能地,它不工作。
我只需要5*****
*。任何幫助都會得到真正的重視。
'(^ 5)[\ d] {6} =^5 \ d {6}'有什麼問題? –
不確定,因爲問題不明確:您是在尋找['\ b(5 \ d {6} | 1 \ d {5})\ b'](http://regexstorm.net/tester?p=% 5cb(5%5cd%7b6%7d%7c1%5cd%7b5%7d)%5cb&i = 5106542)與'Regex.Matches'?請參閱[本演示](http://ideone.com/TpMlHz)。 –
是否有一個原因,您需要驗證完全數字的字符串?有時候只是'10000 <= tryParseInt(輸入)<= 19999'是更好的解決方案。 – ryanyuyu