2016-05-17 82 views
0
var str = "AB: Pillow D-001-134552"; 

我想用正则表达式到上面的字符串打破[D-001-134552]的字符串。(开始位置d只占用一个字符,下一个001是3个字符,但最后一个路径可以采取单数或7digits也)。打破使用正则表达式C#

+0

你试过了什么?请为此表现出一些努力。 – rahulroy9202

+0

为什么不用空格拆分连字符? ['var result = str.Split().LastOrDefault().Split(' - ');'](https://ideone.com/MBkAgx)? –

回答

0

既然你只是想要id字符串,在这种情况下不需要使用捕获组。
所以一条线就足够了。

下面的解决方案假定ID具有特定格式:
1个字符,短划线,3个数字,短划线,6到7个数字。

string str = "AB: Pillow D-001-134552"; 

var id = System.Text.RegularExpressions.Regex.Match(str, @"\w-\d{3}-\d{6,7}").Value;