使用c#中的regex从字符串中提取序列号

时间:2017-09-10 16:15:34

标签: c#

序列号: - 4540107708_E4-UR730RSQ_XICM_1

代码(C#): -

string Pattern = "^[0-9]{1,10}_[a-z0-9A-Z-]{2,12}_XICM_[0-9]$";

string inputStr = "Abcd Abcdefg Abcdefghij xyzyzxue, 4540107708_E4-UR730RSQ_XICM_1 abcdefg Abcd Abcdefg Abcdefghij xyzyzxue."; 

Regex regex = new Regex(Pattern,RegexOptions.None);

Match match = regex.Match(inputStr);

if (match.Success)
{
   string matchValue = match.Value;
   Console.WriteLine(matchValue);
   Console.WriteLine(match.Value);
   Console.ReadLine();
}

我想从inputStr获取此序列号(4540107708_E4-UR730RSQ_XICM_1)。

请帮助..

output

1 个答案:

答案 0 :(得分:1)

^锚点要求匹配项出现在字符串的开头,$要求匹配项出现在字符串的末尾。你需要的是找到整个单词的匹配。使用单词边界:

\b[0-9]{1,10}_[a-z0-9A-Z-]{2,12}_XICM_[0-9]\b
^^                                         ^^

请参阅regex demo