Reegex 取代'char buf[10];'



我正在尝试实现一个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+];"

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

谢谢

试试这个:

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

或者简单地:

char w+[d+];

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

它为您提供了两个组,因此您可以随心所欲地使用它。

试试这个:

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

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

最新更新