我是regex语法的新手,正在寻找符合以下条件的方法:
示例有效数据:
1A1111
1A11111
1A111111
11A1111
11A11111
11A111111
111A1111
111A11111
111A111111
我发现的大多数示例都匹配一个或多个值,所以我在努力解决如何匹配特定数量的字符以及可以找到它们的位置。
例如:
匹配字符串开头的1位或多位数字:@"^\d"
或确保字符串至少包含一个Alpha字符:
bool match = Regex.IsMatch(tokenString, @"(?=.*[^a-zA-Z])", RegexOptions.IgnoreCase);
但这并没有告诉它只能有1个字母字符。
答案 0 :(得分:6)
这将有效
^\d{1,3}[a-zA-Z]\d{4,6}$
击穿:
^ - match at beginning
\d{1,3} - one to three digits
[a-zA-Z] - one letter a-z or A-Z
\d{4,6} - followed by between 4 and 6 digits
$ - and that's end of the string...
答案 1 :(得分:3)
尝试使用这个。
^\d{1,3}[a-zA-Z]\d{4,6}$
答案 2 :(得分:3)
以下模式可以满足您的要求:
^\d{1,3}[a-zA-Z]\d{4,6}$
好吧,既然你正在使用RegexOptions.IgnoreCase
,那么你就可以逃脱:
^\d{1,3}[a-z]\d{4,6}$
有关使用正则表达式可以执行的操作的详细信息,请转到此处: