我有一个字符串,可能包含单元格地址,如下所示:
A1,B34,Z728 - 只有大写字母和
AA3,ABA92,ZABC83 - 整数前可能有几个字母。
典型的源字符串如下所示:
= 3 + 7 * A1-B3 * AB28
我需要收集字符串中所有单元格的集合:A1,B3,AB28
我尝试使用Regex.Matches方法和以下正则表达式:@“[A..Z] +?[1..9] +?”,但它不起作用。
有人可以帮我写正则表达式吗?
答案 0 :(得分:5)
正则表达式中有三个错误:
-
指定,而不是..
。试试这个:
"[A-Z]+[1-9][0-9]*"
示例:
string input = "3+7*A1-B3*AB28";
foreach (Match match in Regex.Matches(input, "[A-Z]+[1-9][0-9]*"))
Console.WriteLine(match.Value);
输出:
A1
B3
AB28