I\'m new to scripting and have been reading about how to use regular expressions.
I want to fetch the complete line matching a pattern.
my ouptut is:
First off, you want to use raw strings when providing the regex string, this is done by prefixing the string with an r
, otherwise escape sequences will be absorbed.
\d
will match digits, but not the dot that appears between them. Since you want that as a group you'll need r'(\d+\.\d+)'
(if you use search
instead of match
then you don't need to worry about this):Finally you'll need something to capture everything in the line up to that number as well, which can be done easily with .*
, capturing any amount of characters. Your search pattern becomes:
r'.*(\d+\.\d+)% packet loss'
If you want to be explicit about the start and end of the line, then use the ^
(start) and $
(end) special characters
r'^.*(\d+\.\d+)% packet loss$'