正则表达式在关键字之后获得价值

时间:2019-12-10 08:31:12

标签: regex vba

我尝试在其中一个关键字存在的行的末尾获取一个值:A0000B0000

94039030900 Teile aus Holz, für Möbel, anderweit weder      415,17 EUR    ZOLLWERT      A0000        2,70000     0,00          11,21
              genannt noch inbegriffen. Hier: Schublade      426,38 EUR    EUST-WERT     B0000       19,00000     0,00          81,01

我尝试获取A0000的值11,21

对于B0000,值81,01

这是我的最佳尝试,但我没有获得我需要的价值:(A0000)(.*\s)(\d)

1 个答案:

答案 0 :(得分:2)

您可以使用

\bA0000.*\s(\d[\d,]*)
\bB0000.*\s(\d[\d,]*)

请参见regex demo。通过match.SubMatches(0)在VBA代码中获取组1值。

或者,如果两个结果都需要使用1个正则表达式:

\b[AB]0000.*\s(\d[\d,]*)

请参见this regex demo

详细信息

  • \b-单词边界
  • A0000-特定的子字符串
  • .*\s-除换行符以外的任意0+个字符,应尽可能多,再加上一个空格
  • (\d[\d,]*)-捕获组1:一个数字,后跟0个或多个数字或逗号。