On 2015-11-03 10:25, Peter Otten wrote: > >>> How do I make a regular expression that returns true if the end > >>> of the line is an asterisk > >> > >> Why use a regular expression? > >> > >> if line[-1] == '*': > >> yep(line) > >> else: > >> nope(line) > > Incidentally the code example has two "problems", too. > > - What about the empty string?
Good catch: .endswith() works better. > - What about lines with a trailing "\n", i. e. as they are usually > delivered when iterating over a file? Then your string *doesn't* end with a "*", but rather with a newline. ;-) Though according to the OP's specs, the following function would work too: def ends_in_asterisk(s): return True It *does* return True if the line ends in an asterisk (no requirement to make the function return False under any other conditions). -tkc -- https://mail.python.org/mailman/listinfo/python-list