正则表达式提取数字后跟特定单词

时间:2010-12-27 12:02:48

标签: c# .net regex

使用Regex,我想提取后跟特定单词的数字。

位数不是有限的。

示例输入:

My address is 1234@abc.com and you can send SMS to me.

预期结果。

1234

在这种情况下,特定单词为@abc.com,并且需要提取此单词后面的数字。

3 个答案:

答案 0 :(得分:4)

使用正则表达式组:on MSDN

在C#中,试试这个:

string pattern = @"(\d+)@abc\.com";
string input = "My address is 15464684@abc.com and you can send SMS to me";
Match match = Regex.Match(input, pattern);

// Get the first named group.
Group group1 = match.Groups[1];
Console.WriteLine("Group 1 value: {0}", group1.Success ? group1.Value : "Empty");

答案 1 :(得分:2)

您需要匹配1234@abc.com并使用分组来提取数字:

(\d+)\@abc.com

答案 2 :(得分:0)

.* (\d+)@abc\.com .*应该有用。