find all matches in a string python code example
Example 1: python find all elements of substring in string
def find_all(a_str, sub):
start = 0
while True:
start = a_str.find(sub, start)
if start == -1: return
yield start
start += len(sub) # use start += 1 to find overlapping matches
list(find_all('spam spam spam spam', 'spam')) # [0, 5, 10, 15]
Example 2: python .findall
## Search for pattern 'bb' in string 'aabbcc'.
## All of the pattern must match, but it may appear anywhere.
## On success, match.group() is matched text.
match = re.search(r'bb', 'aabbcc') # found, match.group() == "bb"
match = re.search(r'cd', 'aabbcc') # not found, match == None
## . = any char but \n
match = re.search(r'...c', 'aabbcc') # found, match.group() == "abbc"
## \d = digit char, \w = word char
match = re.search(r'\d\d\d', 'p123g') # found, match.group() == "123"
match = re.search(r'\w\w\w', '@@abcd!!') # found, match.group() == "abc"