Python/Regex: Difference between revisions
< Python
Jump to navigation
Jump to search
| Line 5: | Line 5: | ||
sample1 = '2018-05-31' | sample1 = '2018-05-31' | ||
sample2 = 'Today is 2018-51-31.' | sample2 = 'Today is 2018-51-31.' | ||
pattern = re.compile('\d{4}-\d{2}-\d{2}') | pattern = re.compile('(\d{4})-(\d{2})-(\d{2})') | ||
m = pattern.search(sample1) | m = pattern.search(sample1) | ||
if m: | if m: | ||
print('Found pattern in sample1.') | print('Found pattern in sample1 between {}~{}.'.format(m.span()[0], m.span()[1])) | ||
print('m[ | print('m[1]={}, m[2]={}, m[3]={}'.format(m[1], m[2], m[3])) | ||
m = pattern.search(sample2) | m = pattern.search(sample2) | ||
if m: | if m: | ||
print('Found pattern in | print('Found pattern in sample1 between {}~{}.'.format(m.span()[0], m.span()[1])) | ||
print('m[ | print('m[1]={}, m[2]={}, m[3]={}'.format(m[1], m[2], m[3])) | ||
m = pattern.match(sample1) | m = pattern.match(sample1) | ||
if m: | if m: | ||
print(' | print('Matched pattern sample1.') | ||
print('m[ | print('m[1]={}, m[2]={}, m[3]={}'.format(m[1], m[2], m[3])) | ||
m = pattern.match(sample2) | m = pattern.match(sample2) | ||
if m: | if m: | ||
# won't be matched | |||
pass | |||
</source> | </source> | ||
Revision as of 07:52, 31 May 2018
To Match
import re
sample1 = '2018-05-31'
sample2 = 'Today is 2018-51-31.'
pattern = re.compile('(\d{4})-(\d{2})-(\d{2})')
m = pattern.search(sample1)
if m:
print('Found pattern in sample1 between {}~{}.'.format(m.span()[0], m.span()[1]))
print('m[1]={}, m[2]={}, m[3]={}'.format(m[1], m[2], m[3]))
m = pattern.search(sample2)
if m:
print('Found pattern in sample1 between {}~{}.'.format(m.span()[0], m.span()[1]))
print('m[1]={}, m[2]={}, m[3]={}'.format(m[1], m[2], m[3]))
m = pattern.match(sample1)
if m:
print('Matched pattern sample1.')
print('m[1]={}, m[2]={}, m[3]={}'.format(m[1], m[2], m[3]))
m = pattern.match(sample2)
if m:
# won't be matched
pass
To Replace
ns = re.sub('o+', '_', 'doooooog')