我有一個具有以下格式的字符串:111111#1數(shù)字字符的數(shù)量是 5 或 6,之后我設(shè)置了一個 '#'并設(shè)置一個數(shù)字字符。我像這樣使用 Regex.IsMatch :if (Regex.IsMatch(string, @"^d{6}#\d{1}"))
{...}但它無法處理我的字符串 我的錯誤是什么?
2 回答

鳳凰求蠱
TA貢獻1825條經(jīng)驗 獲得超4個贊
您缺少第一個 d
上的反斜杠,因此它與數(shù)字不匹配:
Regex.IsMatch("111111#1", @"^\d{6}#\d{1}")

萬千封印
TA貢獻1891條經(jīng)驗 獲得超3個贊
此單行正則表達式將捕獲兩組:前五到六位數(shù)字和“#”。后跟一個數(shù)字:
(\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"
}
- 2 回答
- 0 關(guān)注
- 235 瀏覽
添加回答
舉報
0/150
提交
取消