Выражение регулярного выражения для поиска значения в строке, которая имеет статическую позицию, но переменное количество символов - PullRequest
1 голос
/ 23 октября 2019

Я читаю данные из 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 голосов
/ 23 октября 2019

Вы можете использовать

^Total[^$]+(.+)

См. демо на regex101.com .

...