# -*- coding: utf-8 -*-
"""
Created on Tue May 11 13:28:01 2021

@author: Sim
"""
import re

mystr = re.sub('\\[', 'A',  '[12.5+13-1*5$')
print(mystr)
mystr = re.sub('\\+', 'A',  '[12.5+13-1*5$')
print(mystr)
mystr = re.sub('\\$', 'A',  '[12.5+13-1*5$')
print(mystr)

mystr = re.sub('[a-z]', '-',  'bcde0123ABC')
print(mystr)

l_case = re.search('[a-z]', 'bcde0123ABC')
if l_case: print('a-z exits')
else: print('No a-z')

l_case = re.search('[k-z]', 'bcde0123ABC')
if l_case: print('k-z exists')
else: print('No k-z')

mystr = [ re.sub('colou?r', 'COLOR', word) for word in
       ['color', 'coloor', 'colooor', 'colour', 'colouur'] ]
print(mystr)
mystr = [ re.sub('colou*r', 'COLOR', word) for word in
       ['color', 'coloor', 'colooor', 'colour', 'colouur'] ]
print(mystr)
mystr = [ re.sub('colo+r', 'COLOR', word) for word in
       ['color', 'coloor', 'colooor', 'colour', 'colouur'] ]
print(mystr)
mystr = [ re.sub('colo{3}r', 'COLOR', word) for word in
       ['color', 'coloor', 'colooor', 'colour', 'colouur'] ]
print(mystr)
mystr = [ re.sub('colo{1,3}r', 'COLOR', word) for word in
       ['color', 'coloor', 'colooor', 'colour', 'colouur'] ]
print(mystr)
mystr = [ re.sub('colo{2,}r', 'COLOR', word) for word in
       ['color', 'coloor', 'colooor', 'colour', 'colouur'] ]
print(mystr)

mystr = [ re.sub('a.b', 'A.B', word) for word in
       ['ab', 'abb', 'abbb', 'axb', 'axxxxb'] ]
print(mystr)
mystr = [ re.sub('a.*b', 'A.B', word) for word in
       ['ab', 'abb', 'abbb', 'axb', 'axxxxb'] ]
print(mystr)

mystr =  [re.sub('grey|gray', 'GRAY',  word) for word in 
     ['grey', 'gray', 'groy', 'greay', 'greey']]
print(mystr)

mystr=[re.sub('gr(a|e)y', 'GRAY', word) for word in
       ['grey', 'gray', 'groy', 'greay', 'greey']]
print(mystr)

mystr = [re.sub('^1', '-', word) for word in ['12.5', 'ab', 'abc', '']]
print(mystr)
mystr = [re.sub('[^0-9]', '-', word) for word in ['12.5', 'ab', 'abc', '']]
print(mystr)
mystr = [re.sub('^$', '-', word) for word in ['12.5', 'ab', 'abc', '']]
print(mystr)

mystr = 'T est  spaces    and numbers   1   22 333'
print(re.sub('\s+', ' ', mystr))
print(re.sub('\d', 'x', mystr))
print(re.sub('\S+', 'char', mystr))
