Невозможно точно найти определенный текст в HTML-теге с помощью Python - PullRequest
0 голосов
/ 01 марта 2019

У меня есть приведенное ниже регулярное выражение для идентификации текста в HTML-теге, который не дает ожидаемого результата.

HTML-тег:

<td>Issue Amount</td>
<td>:</td>
<td>20,000,000.00</td>

Find = re.findall(?<=Issue Amount</td> <td>:</td> <td>) [0-9,]),soup_string)[0]

Мне нужно получить числовое значение 20 000 000,00из этого тега.

Любой совет, что я тут не так делаю.Я попробовал пару других способов, но безуспешно.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Ниже приведена часть регулярного выражения, которая помогла мне получить желаемый результат.Спасибо всем за ваш вклад.

(?<=Issue Amount[td\W]{21})([\d,.]+)
0 голосов
/ 01 марта 2019

Ни при каких обстоятельствах не пытайтесь анализировать XML с помощью регулярного выражения, если вы не хотите вызывать обряд 6 6 6 Ph'nglui mglw 'nafh Cthulhu R'lyeh wgah'nagl fhtagn.

Используйте библиотеку HTML для разбора, см. эту страницу , чтобы узнать, как это сделать.

Однако в вашем случаевы испортили свое регулярное выражение, ища пространство между тегами </td> и <td>.В то время как ваши данные имеют возврат каретки.Вы можете использовать метасимвол \s для поиска любого символа пробела

...