我使用以下正则表达式来匹配数据,如下所示。只有第二个和第三个匹配不是第一个。谁能帮助我知道我做错了什么?
基本上我想匹配文本中的第一个,第二个和最后一个段。
数据:
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])?)?)$
由于
答案 0 :(得分:3)
你可以使用这样的正则表达式:
(\d+)\s+(\w+).*\s(\w+)$
<强> Working demo 强>
根据您的列,您可以使用以下命名组:
(?<ProductNo>\d+)\s+(?<mattype>\w+).*\s(?<colorcode>\w+)$