正则表达式以获取样本的特定部分

时间:2016-12-08 22:59:24

标签: c# .net regex vb.net

我正在尝试使用正则表达式在下面的示例行中找到/匹配粗体的数字序列。

  

2520222 Rubble,Barney 1134525

     

1524356 Mudd,Harry S 14-40525 111.11

     

2324316 Mudd,Mary R 12-40000

我最接近的是

\d{0,2}-?\d+$

但是只有当我想捕获的部分因为$而在行尾时才有效。如果行末有不需要的项目(参见第3行),它将始终为小数。有没有办法找到并退回一组到正确的序列?甚至可以在RegEx中使用吗?

1 个答案:

答案 0 :(得分:5)

你可以在这样的正则表达式中使用环绕声:

(?<= )[\d-]+(?=\s|$)

<强> Working demo

enter image description here

如果你不想使用lookarounds,那么你可以使用这样的正则表达式:

,.*\s([\d-]+)(?:$|\s)

<强> Working demo