C# 谁能告诉我怎么做这个正则表达式吗
我有一个字符串,我想捕获其中的数字,然后向其中添加一个 例如,我有一个邮件标题,上面写着Re:Hello 1 我想捕获1,然后将其增加2,然后增加3,然后增加4,等等。我遇到的困难是考虑到不断增长的数字,一旦它变为10或100,这个额外的数字就会杀死我当前的正则表达式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
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]替换为\dPost当前正则表达式。字符串将始终从Re:Hello..开始。。?