带有数字字符和 # 的 match.regex 语法

我有一个具有以下格式的字符串:

111111#1

数字字符的数量是 5 或 6,之后我设置了一个 '#'并设置一个数字字符。

我像这样使用 Regex.IsMatch :

if (Regex.IsMatch(string, @"^d{6}#\d{1}"))
{...}

但它无法处理我的字符串 我的错误是什么?


四季花海
浏览 104回答 2
2回答

凤凰求蛊

您缺少第一个 d 上的反斜杠,因此它与数字不匹配:Regex.IsMatch("111111#1", @"^\d{6}#\d{1}")

万千封印

此单行正则表达式将捕获两组:前五到六位数字和“#”。后跟一个数字:(\d{5,6})(#\d{1})例子:string pattern = @"(\d{5,6})(#\d{1})";string input = "111111#1";MatchCollection matches = Regex.Matches(input, pattern);foreach (Match match in matches){  var firstGroupValue = match.Groups[1]; // "111111"  var secondGroupValue = match.Groups[2]; // "#1"}      
打开App,查看更多内容
随时随地看视频慕课网APP