# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^Hi.*Page (\d+).*\n(.*)"
test_str = ("Notes and highlights for\n"
"Outlive\n"
"Attia MD, Peter\n"
"Part I\n"
"Highlight (yellow) - Chapter 1: The Long Game: From Fast Death to Slow Death > Page 10 · Location 150\n"
"In 1900 , life expectancy hovered somewhere south of age fifty , and most people were likely to die from “ fast ” causes : accidents , injuries , and infectious diseases of various kinds . Since then , slow death has supplanted fast death . The majority of people reading this book can expect to die somewhere in their seventies or eighties , give or take , and almost all from “ slow ” causes .\n"
"Highlight (yellow) - Chapter 1: The Long Game: From Fast Death to Slow Death > Page 10 · Location 154\n"
"Four Horsemen : heart disease , cancer , neurodegenerative disease , or type 2 diabetes and related metabolic dysfunction .\n"
"Highlight (yellow) - Chapter 1: The Long Game: From Fast Death to Slow Death > Page 10 · Location 155\n"
"we must understand and confront these causes of slow death .\n"
"Highlight (yellow) - Chapter 1: The Long Game: From Fast Death to Slow Death > Page 10 · Location 158\n"
"Healthspan is typically defined as the period of life when we are free from disability or disease ,\n"
"Highlight (yellow) - Chapter 1: The Long Game: From Fast Death to Slow Death > Page 14 · Location 215\n"
"It is absurd and harmful to treat this disease like a cold or a broken bone , where you either have it or you don’t ; it’s not binary .\n"
"Highlight (yellow) - Chapter 1: The Long Game: From Fast Death to Slow Death > Page 14 · Location 218\n"
"Changing that mindset must be our first step in attacking slow death . We want to delay or prevent these conditions so that we can live longer without disease , rather than lingering with disease .\n"
"Highlight (yellow) - Chapter 1: The Long Game: From Fast Death to Slow Death > Page 17 · Location 270\n"
"Exercise is by far the most potent longevity “ drug . ” No other intervention does nearly as much to prolong our lifespan and preserve our cognitive and physical function .")
subst = "> $2 [@attia:2023 p.$1]\\n"
# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)
if result:
print (result)
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html