re.findall между двумя строками (но отклонять числовые цифры) - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь проанализировать много текстовых файлов. Следующий text является лишь частью больших текстовых файлов.

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Prior to this primary offering, there has
been no public market for our common stock. We anticipate that the public offering price of the shares will be between $5.00 and
$6.00. We have applied to list our common stock on the Nasdaq Capital Market (&ldquo;Nasdaq&rdquo;) under the symbol &ldquo;HYRE.&rdquo;
If our application is not approved or we otherwise determine that we will not be able to secure the listing of our common stock
on the Nasdaq, we will not complete this primary offering.</P>

Мой желаемый вывод: be between $5.00 and and $6.00. Итак, мне нужно извлечь что-нибудь между be between до следующего . (но без учета десятичной точки 5.00!). Я попробовал следующее (Python 3.7):

shareprice = re.findall(r"be between\s\$.+?\.", text, re.DOTALL) 

Но этот код дает мне: be between $5. (останавливается на десятичной точке). Сначала я добавляю \s в конце строки, чтобы после . был пробел, который сохранял бы десятичную точку 5.00, но многие другие текстовые файлы не имеют пробелов сразу после окончания . предложения. В любом случае я могу указать в своей строке, что я хочу "пропустить" числовые цифры после \.?

Большое спасибо. Надеюсь это было понятно. Лучший

1 Ответ

1 голос
/ 04 октября 2019

После анализа простого текста из HTML , вы можете рассмотреть возможность сопоставления любых 0+ символов с как можно меньшим числом, за которым следует ., за которым не следует цифра:

r"be between\s*\$.*?\.(?!\d)"

См. Демонстрационную версию regex .

В качестве альтернативы, если вы хотите игнорировать точку СТРОГО между двумя цифрами, вы можете использовать

r"be between\s*\$.*?\.(?!(?<=\d\.)\d)"

См. это регулярное выражение демо . (?!(?<=\d\.)\d) гарантирует, что шаблон \d\.\d будет пропущен до первого совпадения ., а не только \.\d.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...