用于在具有静态位置但字符数量可变的字符串中查找值的正则表达式

Regex expression to find value in string that has a static position but variable amount of characters

我正在从 PDF 中读取数据,输出是一段文本。目标是从该文本块中提取一个值。我需要拉取的值处于静态位置,但字符数量可以改变。什么是正则表达式来查找有问题的字符串。

我使用的文本块如下:

Residue mmbtu 3,787.11 100.00% 3,787.11 .623163 ,147.10 
Total 3,787.11 3,787.11 ,147.10

我需要在 "Total" 行之后找到美元金额,在本例中是 6,147.10

到目前为止产生最好的表达式是 (?<=$)([^\s]+),但是这给了我美元符号后的数字,不包括空格。不过我只需要找到最后一个值

(?<=$)([^\s]+)

预期的结果是找到带有单词 "Total" 的行之后的美元金额,因为我知道我阅读的任何 PDF 文件都会有一段类似于上面发布的文本。上面的例子会给我一个值 6,147.10

你可以使用

^Total[^$]+(.+)

a demo on regex101.com