如何验证包含工作表名称的Excel单元格引用?

时间:2011-02-08 11:08:00

标签: c# regex

我想在Excel工作表公式中验证单元格引用。

有效字符串:

  1. Sheet1!A1
  2. 'Sheet!!'!A1
  3. 我正在使用以下表达式,但它无效。

    "^='?[^[]/\*]*'?!+[A-Z]+[0-9]+$"
    

3 个答案:

答案 0 :(得分:3)

Regex re = new Regex(@"^=('?[^']+'?|[^!]+)![A-Z]+[0-9]+$");
bool isOk = re.IsMatch("=Sheet1!A1");

[^!]更改为工作表名称中不需要的任何字符。

它将匹配格式为='<anything>'!XN=<anything>!XN的任何内容,其中X至少为一个大写字母,N至少为一位数。

修改: 我不确定OP是否在开始时想要=字符(原始帖子有它)。如果不这样做,请从正则表达式的开头删除=字符。

答案 1 :(得分:1)

哦其他一些问题。

现在正在工作

^='?[^/\[]*]*'?!{1}[A-Z]+[0-9]+$

答案 2 :(得分:0)

这个应该工作: ?=(\ S | \ w)的!+ [A-ZA-Z] + \ d +