课题

  1. 使用正则表达式匹配字符串

    使用正则表达式 "\d{3}-(\d{4})-\d{2}" 匹配字符串 "123-4567-89"

    返回匹配结果:’"123-4567-89" 以及 "4567"
  2. 使用正则表达式替换字符串(模式)

    使用正则表达式 "(\d+)-(\d+)-(\d+)" 匹配字符串 "123-4567-89"

    使用模式字符串 "$3-$1-$2" 替换匹配结果,返回结果 "89-123-4567"。
  3. 使用正则表达式替换字符串(回调)

    使用正则表达式 "\d+" 匹配字符串 "123-4567-89"

    将匹配结果即三个数字串全部翻转过来,返回结果 "321-7654-98"。
  4. 使用正则表达式分割字符串

    使用正则表达式 "%(begin|next|end)%" 分割字符串"%begin%hello%next%world%end%"

    返回正则表达式分隔符之间的两个字符串 "hello" 和 "world"。

Python

import re

s = '123-4567-89'
m = re.search(r'\d{3}-(\d{4})-\d{2}', s)
if m:
for i in range(0, len(m.groups()) + 1):
print(f"group {i} : {m[i]}") print(re.sub(r'(\d+)-(\d+)-(\d+)', r'\3-\1-\2', s)) # https://stackoverflow.com/questions/18737863/passing-a-function-to-re-sub-in-python
# https://stackoverflow.com/questions/931092/reverse-a-string-in-python
print(re.sub(r'\d+', lambda x: x.group()[::-1], s)) print(re.split('%(?:begin|next|end)%', '%begin%hello%next%world%end%')) '''
group 0 : 123-4567-89
group 1 : 4567
89-123-4567
321-7654-98
['', 'hello', 'world', '']
'''
05-11 16:06