python – Extract part of a regex match

python – Extract part of a regex match

Use ( ) in regexp and group(1) in python to retrieve the captured string (re.search will return None if it doesnt find the result, so dont use group() directly):

title_search = re.search(<title>(.*)</title>, html, re.IGNORECASE)

if title_search:
    title = title_search.group(1)

Note that starting Python 3.8, and the introduction of assignment expressions (PEP 572) (:= operator), its possible to improve a bit on Krzysztof KrasoĊ„s solution by capturing the match result directly within the if condition as a variable and re-use it in the conditions body:

# pattern = <title>(.*)</title>
# text = <title>hello</title>
if match := re.search(pattern, text, re.IGNORECASE):
  title = match.group(1)
# hello

python – Extract part of a regex match

Try using capturing groups:

title = re.search(<title>(.*)</title>, html, re.IGNORECASE).group(1)

Leave a Reply

Your email address will not be published. Required fields are marked *