使用Regex,我想提取后跟特定单词的数字。
位数不是有限的。
示例输入:
My address is 1234@abc.com and you can send SMS to me.
预期结果。
1234
在这种情况下,特定单词为@abc.com
,并且需要提取此单词后面的数字。
答案 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 .*
应该有用。