我遇到一个问题,我应该在多个电子邮件地址中输入一个10长的数字,并且本身有两个字母,例如1234567891AB
。
为了顺利完成这项工作,我尝试使用Regex.Split()
,因为有更多关于相同信息的通信,我想将它添加到数组中。
输入:(来自Outlook)
"Here comes number on the consignment 1020289847AB."
我正在尝试编写一个如下所示的脚本:
string[] BODY = Regex.Split(item.body, @"[^\d$]");
当前outpub: 1020289847
我想要的输出: 1020289847AB
答案 0 :(得分:0)
试试这个正则表达式
\d+([a-zA-Z]){2}
如果您想在前面专门定位10位数
\d{10}+([a-zA-Z]){2}
答案 1 :(得分:0)
然后你需要这样的东西:
@"\d{10}\D{2}"
答案 2 :(得分:0)
试试下面的正则表达式。抓取10位数,并允许2个字符的小写或大写。
\d{10}[a-zA-Z]{2}
(\d{10})([a-zA-Z]{2}) - Added Groups for digits and letters
答案 3 :(得分:0)
怎么样:
string[] BODY = Regex.Split(item.body, @"[^\d{10}[A-Z]{2}$]");
这只会匹配10个数字,后跟两个大写字母。
答案 4 :(得分:0)
如果你的数字后面只需要两个字符,那么你只需要使用它;
\d{10}\D{2}
一些示例匹配;
3753391729¾~
9446154600Û\
让我们编码;
string s = "Here comes number on the consignment 1020289847AB.";
Regex regex = new Regex(@"\d{10}\D{2}");
Match match = regex.Match(s);
if (match.Success)
{
Console.WriteLine(match.Value);
}
输出是;
1020289847AB
这是DEMO
。