How to find pattern matches with [] in a string with regular expression in Python

6 Answers

0 votes
s = 'xyxxxyyyxyxxyyaaa'    
pattern = '[xy]'  # either 'x' or 'y' 

for match in re.findall(pattern, s):         
    print('Found: {!r}'.format(match))
    
    
'''
run:

Found: 'x'
Found: 'y'
Found: 'x'
Found: 'x'
Found: 'x'
Found: 'y'
Found: 'y'
Found: 'y'
Found: 'x'
Found: 'y'
Found: 'x'
Found: 'x'
Found: 'y'
Found: 'y'

'''

 



answered Apr 27, 2019 by avibootz
0 votes
import re     

s = 'xyxxxyyyxyxxyyaaa'    
pattern = 'x[xy]'  # 'x' followed by one 'x' or 'y'

for match in re.findall(pattern, s):         
    print('Found: {!r}'.format(match))
    
    
'''
run:

Found: 'xy'
Found: 'xx'
Found: 'xy'
Found: 'xy'
Found: 'xx'

'''

 



answered Apr 27, 2019 by avibootz
0 votes
import re     

s = 'xyxaaxxaaayyyaaaxyxxyyaaa'    
pattern = 'x[xy]+'  # 'x' followed by one or more 'x' or 'y'

for match in re.findall(pattern, s):         
    print('Found: {!r}'.format(match))
    
    
'''
run:

Found: 'xyx'
Found: 'xx'
Found: 'xyxxyy'

'''

 



answered Apr 27, 2019 by avibootz
0 votes
import re     

s = 'xyx - aaxx aaayyy -aaaxyxxyyaaa'    
pattern = '[^-]+'  # sequences without -

for match in re.findall(pattern, s):         
    print('Found: {!r}'.format(match))
    
    
'''
run:

Found: 'xyx '
Found: ' aaxx aaayyy '
Found: 'aaaxyxxyyaaa'

'''

 



answered Apr 27, 2019 by avibootz
0 votes
import re     

s = 'xyx - aaxx .aaayyy -aaaxyxxyyaaa.'    
pattern = '[^-.]+'  # sequences without - and .

for match in re.findall(pattern, s):         
    print('Found: {!r}'.format(match))
    
    
'''
run:

Found: 'xyx '
Found: ' aaxx '
Found: 'aaayyy '
Found: 'aaaxyxxyyaaa'

'''

 



answered Apr 27, 2019 by avibootz
0 votes
import re     

s = 'xyx - aaxx .aaayyy -aaaxyxxyyaaa.'    
pattern = '[^ ]+'  # sequences without space

for match in re.findall(pattern, s):         
    print('Found: {!r}'.format(match))
    
    
'''
run:

Found: 'xyx'
Found: '-'
Found: 'aaxx'
Found: '.aaayyy'
Found: '-aaaxyxxyyaaa.'

'''

 



answered Apr 27, 2019 by avibootz
...