def compile_word(word): if word.isupper(): terms = [('%s*%s' % (10**i, d)) for (i, d) in enumerate(word[::-1])] return '(' + '+'.join(terms) + ')' else: return word
Regular Expression
->find substring string
ex. s = ‘some long thing with words’
s.find(‘word’)
‘baa*!’
* a*
? a?
. a.
def search(pattern, text): if pattern.startswitch('^'): return match(pattern[l:], text) else: return match('.*' + pattern, text) def match(pattern, text): if pattern == '': return True elif pattern == '$': return (text == '') elif len(pattern) > 1 and pattern[1] in '*?': else: return (match1(pattern[0], text) and match(pattern[1:], text[1:]))