RegEx如何匹配这种模式

时间:2016-07-27 16:09:21

标签: .net regex

我使用以下正则表达式来匹配数据,如下所示。只有第二个和第三个匹配不是第一个。谁能帮助我知道我做错了什么?

基本上我想匹配文本中的第一个,第二个和最后一个段。

数据:

306279 ABC TILT ROSE LVG
123456 ABC Chocolate PanL CH
123456 SSS Front Chocolate CH_Q

预期产出

ProductNo   mattype     colorcode
---------   -------     ---------
306279      ABC         LVG
123456      ABC         CH
123456      SSS         CH_Q

我的正则表达式: 正则表达式:

^(?<productno>\d{6})\s(?<mattype>\w+)\s(?<body>(?:(?![A-Z]{2}).)*)((?<colorcode>[A-??Z]{2}(?:_[A-Z])?)?)$

由于

1 个答案:

答案 0 :(得分:3)

你可以使用这样的正则表达式:

(\d+)\s+(\w+).*\s(\w+)$

<强> Working demo

根据您的列,您可以使用以下命名组:

(?<ProductNo>\d+)\s+(?<mattype>\w+).*\s(?<colorcode>\w+)$

Regular expression visualization