我需要使用正則表達式對包含位置信息的字符串進行驗證。正則表達式開始結束位置
例子:
020005254877841100557810AAAAAA841158891BBBB
我需要拿到賽第5位至10必須是唯一的數字。
我該如何使用RegEx來做到這一點?
我需要使用正則表達式對包含位置信息的字符串進行驗證。正則表達式開始結束位置
例子:
020005254877841100557810AAAAAA841158891BBBB
我需要拿到賽第5位至10必須是唯一的數字。
我該如何使用RegEx來做到這一點?
嗯它真的必須是正則表達式嗎? 我會這樣做。
var myString = "020005254877841100557810AAAAAA841158891BBBB";
var isValid = myString.Substring(4, 5).All(Char.IsDigit);
+1不使用正則表達式。 –
需要與0和9的字符文字進行比較,因爲Enumerable將從字符串返回字符。 –
@nekizalb感謝您指出。更新。 –
建立在FailedDev提到的基礎上。
string myString = "020005254877841100557810AAAAAA841158891BBBB";
myString.Substring(5, 5); //will get the substring at index 5 to 10.
double Num;
bool isNum = double.TryParse(myString, out Num); //returns true of all numbers
希望幫助,
如果其中一個字符是句號或字母'e'或以'+'或' - '開頭,則會返回誤報。 「12.34」是一個有效的雙數,所以是「12e34」和「+1234」和「-12.4」和「+ 12E3」。 – JerseyMike
如果你絕對必須使用正則表達式,這裏是......(雖然我認爲你應該像喬納斯·W公司的答案去)。
Match m = Regex.Match(myString, "^.{4}\d{5}.*");
if(m.Success){
//do stuff
}
正則表達式的裝置,「從任何字符的字符串(^),匹配4的開始({4}),則五位數,(\ d {5}),則然而許多的(。*)任何其他字符」
如果你真的覺得你必須使用正則表達式,這將是一個:
"^....\d{5}"
你也可以做多項檢查這樣的:
"^....(\d{5}|\D{5})
那一個將匹配所有數字或所有非數字字符,但不是混合或任何空格。
你需要一個正則表達式嗎?獲取從5到10的子字符串,並檢查所有字符的所有字符都是數字。 – FailedDev
文件很大,我認爲RegEx會比子字符串更快,我可以更快地進行其他驗證,例如驗證它是數字還是字母,或者如果日期是指定的格式。 – Zingui