Home > database >  How not capture a string with regex
How not capture a string with regex

Time:04-02

i have this string

<div class"ewSvNa"><a  href="link">Description</a><span data-testid=""><small>$</small><span>0,00</span></div>

and this regex /ewS.*?ugP\".*?f=\"(.*?)\">(.*?)<.*?<s.*?n>(.*?)</g. The result is:

Group 1 = 'link'
Group 2 = 'Description'
Group 3 = '0,00'

My question is: It`s possible have the result of Group 3 like '$0,00'?

Thank u guys =]]]]]

CodePudding user response:

It's recommend to not use regex to parse HTML - instead use a proper parser such as Beautiful Soup.

Then your code becomes:

from bs4 import BeautifulSoup

text = '<div class"ewSvNa"><a  href="link">Description</a><span data-testid=""><small>$</small><span>0,00</span></div>'
soup = BeautifulSoup(text)
amount = soup.select_one('span[data-testid]').get_text()
# '$0,00'
  • Related