Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Reegex将取代';char-buf[10]';_C#_Regex - Fatal编程技术网

C# Reegex将取代';char-buf[10]';

C# Reegex将取代';char-buf[10]';,c#,regex,C#,Regex,我正在尝试实现一个Regex,以便能够匹配如下内容: char buffer[10]; 其中,缓冲区可以由任何可能的变量名替换 10可以被任何整数替换 我尝试了以下方法,但不起作用: @“字符(?[a-z][a-z]+)\[\d+\];” @“字符(?[a-z][a-z]+)\\[\\d+\];” @“字符(?[a-z][a-z]+)\[\d+\];” @“char\\w)\[\d+\];” 请给出建议,或者指出我做错了什么 谢谢试试这个: char (?=\w+\[)[^\[]+\[

我正在尝试实现一个
Regex
,以便能够匹配如下内容:

char buffer[10];
  • 其中,缓冲区可以由任何可能的变量名替换
  • 10可以被任何整数替换
我尝试了以下方法,但不起作用:

  • @“字符(?[a-z][a-z]+)\[\d+\];”
  • @“字符(?[a-z][a-z]+)\\[\\d+\];”
  • @“字符(?[a-z][a-z]+)\[\d+\];”
  • @“char\\w)\[\d+\];”
请给出建议,或者指出我做错了什么

谢谢

试试这个:

char (?=\w+\[)[^\[]+\[\d+\];
^char (?i)(?<varName>[a-z_][a-z_\d]+)\[(?<size>0|([0-9]\d+))\];$
或者简单地说:

char \w+\[\d+\];
试试这个:

char (?=\w+\[)[^\[]+\[\d+\];
^char (?i)(?<varName>[a-z_][a-z_\d]+)\[(?<size>0|([0-9]\d+))\];$
^char(?i)(?[a-z][a-z\d]+)\[(0-9]\d+)\]$
它与包含有效变量名和非负整数的字符串匹配。

char(?\w+)\[(?\d+)\]


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

char[a-zA-Z]+\[\d+\]
我发现它很有用,你是如何使用它的?变量名也可以包含数字,而不是第一个字符。为什么要这样做?@code还有什么更好的方法来操作c代码中的缓冲区呢?:)严肃地说,我同意,这闻起来很不安全。谢谢!工作完美:)这不是一个可靠的解决方案,例如,它与“char aaa bbb ccc[234];”匹配