7"""Miscellaneous utilities."""
14 """A collection of static methods for regexing things."""
18 """Search for regular expression in a file-like object.
20 Opens a file for reading
and searches line by line
for a match to
21 the regex
and returns the parenthesized group named
return for the
22 first match. Does
not search across newlines.
25 pattern =
'^root(:[^:]*){4}:(?P<return>[^:]*)'
26 with open(
'/etc/passwd',
'r')
as stream:
27 return search_within_file(stream, pattern)
28 should
return root
's home directory (/root on my system).
31 input_stream: file-like object to be read
32 pattern: (string) to be passed to re.compile
33 default: what to return if no match
36 A string
or whatever default
is
38 pattern_object = re.compile(pattern)
39 for line
in input_stream:
40 match = pattern_object.search(line)
42 return match.group(
'return')
47 """Search for regular expression in a string.
50 input_string: (string) to be searched
51 pattern: (string) to be passed to re.compile
52 default: what to return if no match
55 A string
or whatever default
is
57 match = re.search(pattern, input_string)
58 return match.group(
'return')
if match
else default