代码之家  ›  专栏  ›  技术社区  ›  Bill

正则表达式重复计数不能是变量

  •  0
  • Bill  · 技术社区  · 7 年前

    我不知道重复次数,直到运行时,并以如下丑陋的代码结束。有没有办法使重复计数成为一个变量,或者以某种方式减少混乱?我尝试了几种方法,包括将mpattern的字符串连接在一起。最后,我发现嵌入的反睫毛会变得更加昂贵。

    if (ExtraColumnCount == 0) mPattern = @"\w+(?:\s+(?:\w|#|-)+){3}$";
    if (ExtraColumnCount == 1) mPattern = @"\w+(?:\s+(?:\w|#|-)+){4}$";
    if (ExtraColumnCount == 2) mPattern = @"\w+(?:\s+(?:\w|#|-)+){5}$";
    if (ExtraColumnCount == 3) mPattern = @"\w+(?:\s+(?:\w|#|-)+){6}$";
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Ashkan Mobayen Khiabani    7 年前

    mPattern 是一个字符串,因此您可以简单地执行以下操作:

    mPattern = @"\w+(?:\s+(?:\w|#|-)+){"+ (ExtraColumnCount+3).ToString() +"}$";