为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
四季花海 2023-12-17 10:02:46
我有一个具有以下格式的字符串:111111#1数字字符的数量是 5 或 6,之后我设置了一个 '#'并设置一个数字字符。我像这样使用 Regex.IsMatch :if (Regex.IsMatch(string, @"^d{6}#\d{1}")) {...}但它无法处理我的字符串 我的错误是什么?
查看完整描述

2 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您缺少第一个 d 上的反斜杠,因此它与数字不匹配:

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


查看完整回答
反对 回复 2023-12-17
?
万千封印

TA贡献1891条经验 获得超3个赞

此单行正则表达式将捕获两组:前五到六位数字和“#”。后跟一个数字:


(\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"

}      


查看完整回答
反对 回复 2023-12-17
  • 2 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信