正则表达式替换' char buf [10];'

时间:2015-03-12 18:36:24

标签: c# regex

我正在尝试实施Regex,以便能够匹配这样的内容:

char buffer[10];
  • 其中缓冲区可以由任何可能的变量名称替换
  • 和10可以替换为任何整数。

我尝试了以下但是没有工作:

  • @"char(?:[a-z][a-z]+)\[\d+\];"
  • @"char(?:[a-z][a-z]+)\\[\\d+\\];"
  • @"char (?:[a-z][a-z]+)\[\d+\];"
  • @"char \\w)\[\d+\];"

请建议,或者指出我做错了什么。

由于

3 个答案:

答案 0 :(得分:1)

试试这个:

char (?=\w+\[)[^\[]+\[\d+\];

或简单地说:

char \w+\[\d+\];

答案 1 :(得分:1)

char (?<varname>\w+)\[(?<size>\d+)\]

它为您提供了两个组,以便您可以随意使用它。

答案 2 :(得分:0)

试试这个:

^char (?i)(?<varName>[a-z_][a-z_\d]+)\[(?<size>0|([0-9]\d+))\];$

它与包含有效变量名称和非负整数的字符串匹配。