正则表达式起始位置

Mal*_*ter 1 c# regex

我需要使用正则表达式在带有位置信息的字符串中进行验证.

例:

020005254877841100557810AAAAAA841158891BBBB
Run Code Online (Sandbox Code Playgroud)

我需要获得比赛位置5到10,并且必须只是数字.

我怎么能用RegEx做到这一点?

Jon*_*s W 7

嗯它真的必须是正则表达式吗?我会这样做的.

var myString = "020005254877841100557810AAAAAA841158891BBBB";
var isValid = myString.Substring(4, 5).All(Char.IsDigit);
Run Code Online (Sandbox Code Playgroud)

  • 怎么样`var isValid = myString.Substring(4,5).All(Char.IsDigit);`? (3认同)

Tyl*_*Lee 5

如果你绝对必须使用正则表达式,那么它就是......(虽然我认为你应该选择Jonas W的答案).

Match m = Regex.Match(myString, "^.{4}\d{5}.*");

if(m.Success){
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

正则表达式意味着,"从字符串(^)的开头,匹配任何字符(.{4})的4,然后是五位数,(\ d {5}),然后许多其他字符(.*) "