我正在尝试生成regex,但匹配失败

  • 本文关键字:失败 regex regex
  • 更新时间 :
  • 英文 :


随机文本

qty 2 MBC102 Rs. 1,890 
required 2unit MBC 103 
mbc 104 2pcs @5000 
MBC 1011 @4000 4 pc Price 5000 
3pcs MBC1012 100rolls 
MBC1013 500 pc 
MBC1014 2pcs mbc 1015 
qty 2 @ 20000 unit 2 
@900 MbC-1016 rolls 150 
5000Rs mbc909 mbC 890 
56 qty @ 5000 
mbC 820 qty 90 @25000

想要匹配数量

2
2
2 
4 
3 
100 
500 
2 
2 
150 
56 
90

我尝试了此代码,但无法正常工作

(?i)^(?!qty|unit|pc|pcs|roll|rolls).[0-9]+

单位在数字后面,而不是前面。因此,在regexp中使用两种替代方案。一种备选方案将qty作为后备方案,另一种方案将所有单元作为后备方案。

(?i)(?:(?<=^qtys)d+|(?:d+(?=s?(?:qty|unit|pc|pcs|roll|rolls))))

qty在数字之前时,它后面需要一个空格,因为lookbehinds必须是固定长度的。当单位在数字后面时,空格是可选的,因此它将与2pcs500 pc匹配

最新更新