Re: regular expression problem
- From: Kent Johnson <kent37@xxxxxxx>
- Date: Tue, 31 May 2005 08:44:23 -0400
borges2003xx@xxxxxxxx wrote:
hi everyone there is a way, using re, to test (for es) in a=[a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14] if a list b is composed by three "sublists" of a separated or not by elements.
if b=[a2,a3,a4,a7,a8,a12,a13] gives true because in a we have [....,a2,a3,a3,...,a7,a8,...,a12,a13,...] or b=[a1,a2,a5,a14] gives true because in a we have [a1,a2,....,a5,...,a14] and so on...
difflib.SequenceMatcher can do this for you:
>>> a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14] >>> b = [2,3,4,7,8,12,13] >>> import difflib >>> sm = difflib.SequenceMatcher(None, a, b) >>> sm.get_matching_blocks() [(1, 0, 3), (6, 3, 2), (11, 5, 2), (14, 7, 0)] >>> b = [1, 2, 5, 14] >>> sm = difflib.SequenceMatcher(None, a, b) >>> sm.get_matching_blocks() [(0, 0, 2), (4, 2, 1), (13, 3, 1), (14, 4, 0)]
You should test for len(sm.get_matching_blocks()) == 4 (the last element is a dummy)
Kent .
- References:
- regular expression problem
- From: borges2003xx@xxxxxxxx
- regular expression problem
- Prev by Date: Re: Report generator for object databases.
- Next by Date: Re: Newbie Here
- Previous by thread: Re: regular expression problem
- Next by thread: Stupid Newbie Question Concerning CGI and Reading Forward Slashes
- Index(es):