Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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#_Asp.net_Regex - Fatal编程技术网

C# 谁能告诉我怎么做这个正则表达式吗

C# 谁能告诉我怎么做这个正则表达式吗,c#,asp.net,regex,C#,Asp.net,Regex,我有一个字符串,我想捕获其中的数字,然后向其中添加一个 例如,我有一个邮件标题,上面写着Re:Hello 1 我想捕获1,然后将其增加2,然后增加3,然后增加4,等等。我遇到的困难是考虑到不断增长的数字,一旦它变为10或100,这个额外的数字就会杀死我当前的正则表达式 int replyno = int.Parse(Regex.Match(Subject, @"\([0-9]+\)").Value); replyno++; string Subject = S

我有一个字符串,我想捕获其中的数字,然后向其中添加一个

例如,我有一个邮件标题,上面写着Re:Hello 1

我想捕获1,然后将其增加2,然后增加3,然后增加4,等等。我遇到的困难是考虑到不断增长的数字,一旦它变为10或100,这个额外的数字就会杀死我当前的正则表达式

      int replyno = int.Parse(Regex.Match(Subject, @"\([0-9]+\)").Value);
      replyno++;
      string Subject = Subject.Remove(Subject.Length - 3);
      TextBoxSubject.Text = Subject + "("+replyno+")";

将正则表达式更改为\d+。这将帮助您支持多位数。

您可以使用

\((\d+)\)
作为正则表达式。 由于+,无论数字大小,它都会捕获内部的数字。

Re:Hello\[0-9]+\

这将匹配字符串Re:Hello 1和任意数字作为数字,因此它也匹配Re:Hello 100

请注意,我专门使用了[0-9]和not\d来匹配数字,因为它们是不同的\d也将匹配其他语言中的数字字符。有关更多信息,请参见此问题和答案:


如果需要匹配其他数字字符,可以将[0-9]替换为\d

Post当前正则表达式。字符串将始终从Re:Hello..开始。。?