Python Regular Expression to Match the Whole line

前端 未结 3 1528
天命终不由人
天命终不由人 2021-01-13 12:21

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:

3条回答
  •  余生分开走
    2021-01-13 12:49

    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$'
    

提交回复
热议问题