Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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# 用于查找字符串并设置为变量的正则表达式_C#_Regex - Fatal编程技术网

C# 用于查找字符串并设置为变量的正则表达式

C# 用于查找字符串并设置为变量的正则表达式,c#,regex,C#,Regex,我正在尝试创建一个正则表达式,它将告诉我字符串是否具有可以重复零的{0}。一旦我确认一个字符串有这个值,我就会尝试将它设置为一个变量,这样我就可以计算0的数量,并用另一个数字替换#。我有/([{0]})([#}])/g,它用于检测,但不用于将其拉出到另一个变量 编辑: 多亏了大家,答案是 Regex regex = new Regex(@"\{(0+)(#)\}"); Match match = regex.Match(text); if (match.Success)

我正在尝试创建一个正则表达式,它将告诉我字符串是否具有可以重复零的
{0}
。一旦我确认一个字符串有这个值,我就会尝试将它设置为一个变量,这样我就可以计算0的数量,并用另一个数字替换#。我有
/([{0]})([#}])/g
,它用于检测,但不用于将其拉出到另一个变量

编辑: 多亏了大家,答案是

    Regex regex = new Regex(@"\{(0+)(#)\}");
    Match match = regex.Match(text);
    if (match.Success)
    {
        int zeros = Regex.Matches(match.Value, "0").Count;
    }
使用以下命令:

\{(0+)(#)\}
性格{

然后出现一个或多个0

标志

字符}

使用以下方法:

\{(0+)(#)\}
性格{

然后出现一个或多个0

标志

字符}


你非常接近。您遇到的问题是,您的捕获组-
()
需要刚好在零附近。你也不需要另一个捕获组,除非你正在使用它。您可以像这样重写正则表达式:

{(0+)#}

{       - match '{'
 (0+)   - match and capture one or more '0'
     #  - match '#'
      } - match '}'

你非常接近。您遇到的问题是,您的捕获组-
()
需要刚好在零附近。你也不需要另一个捕获组,除非你正在使用它。您可以像这样重写正则表达式:

{(0+)#}

{       - match '{'
 (0+)   - match and capture one or more '0'
     #  - match '#'
      } - match '}'
([{0]})([}])
不适用于检测
{0}
,因为它根本不匹配
{0}
。我不知道你想解释什么。也许给出两个或三个具体的、不同的输入字符串示例以及预期结果(请使示例易于理解),以便我们更好地了解您正在尝试做什么……
([{0]})([}])
不适用于检测
{0}
,因为它根本不匹配
{0}
。我不知道你想解释什么。也许给出两个或三个具体的、不同的输入字符串示例以及预期结果(请使示例易于理解),以便我们更好地了解您正在尝试做什么。。。