任何人都可以帮助这个正则表达式吗?我们存储1234----
之类的值,需要将其与用户输入相匹配。
以1234
开头并且每个短划线的附加数字都是匹配的:
12345678
将是匹配
123456
或92341234
不匹配
因此,额外的位数需要与短划线的数量相同。字符必须是数字,而不是字母或其他任何内容。
谢谢。
答案 0 :(得分:3)
答案 1 :(得分:1)
你试过这个吗?
^1234\d{4}$
根据您的评论我已将正则表达式更新为c#:
matchResults = Regex.Match(subjectString, @"^1234\d{4}$");
<强> 样本: 强> http://regex101.com/r/gF2lZ0
答案 2 :(得分:1)
那么你需要从1234----
构建正则表达式 - 比如字符串吗?然后,您可以将-
替换为\d
,在字符串的开头添加^
,并在字符串的末尾添加$
。对于给定的字符串,它将创建^1234\d\d\d\d$
正则表达式。
string input = "12345678";
string mask = "1234----";
string regex = string.Format("^{0}$", mask.Replace("-", @"\d"));
bool isMatch = Regex.IsMatch(input, regex);