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

时间:2019-10-23 19:15:19

标签: regex regex-lookarounds

我正在从PDF中读取数据,并且输出是一块文本。目的是从该文本块中提取一个值。我需要提取的值在静态位置,但是字符数可以更改。查找正则字符串的正则表达式是什么。

我正在使用的文本块如下:

Residue mmbtu 3,787.11 100.00% 3,787.11 $1.623163 $6,147.10 
Total 3,787.11 3,787.11 $6,147.10

我需要在“总计”行之后找到美元金额,在这种情况下为6,147.10

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

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

预期结果将是找到在单词“总计”之后的美元金额,因为知道我阅读的任何PDF都将包含与上面发布的内容相似的文本块。上面的示例为我提供了6,147.10

1 个答案:

答案 0 :(得分:0)

您可以使用

^Total[^$]+(.+)

请参见a demo on regex101.com