Python正则表达式的小练习分享

  • Post category:Python

Python正则表达式是一种强大的工具,可以用于匹配、查找和替换文本中的模式。本攻略将分享一些Python正则表达式的小练习,帮助读者更好地掌握正则达式的应用。

练习1:匹配邮箱地址

匹配邮箱地址是正则表达式的一个经典应用。下面是一个例子,演示如何使用正则表达式匹配邮箱地址:

import re

email = 'example@example.com'
pattern = r'^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$'
result = re.match(pattern, email)
if result:
    print('Match found:', result.group())
else:
    print('Match not found')

在上面的代码中,我们使用正则表达式^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$进行匹配。\w+表示匹配邮箱地址中的用户名部分,[a-zA-Z_]+?表示匹配邮箱地址中的域名部分,\.[a-zA-Z]{2,3}表示匹配邮箱地址中的顶级域名部分。match()函数返回第一个匹配的结果。运行代码后,结果为Match found: example@example.com

练习2:替换文本中的URL

替换文本中的URL是正则表达式的另一个经典应用。下面是一个例子,演示如何使用正则表达式替换文本中的URL:

import re

text = 'Visit my website at https://www.example.com'
pattern = r'https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+'
result = re.sub(pattern, '<a href="\\g<0>">\\g<0></a>', text)
print(result)

在上面的代码中,我们使用正则表达式https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+匹配文本中的URL。https?://表示匹配http或https协议,(?:[-\w.]|(?:%[\da-fA-F]{2}))+表示匹配URL中的域名部分。然后使用sub()函数将匹配到的URL替换成链接。运行代码后,结果为Visit my website at <a href="https://www.example.com">https://www.example.com</a>

以上是Python正则表达式的小练习分享。这些练习可以帮助读者更好地掌握正则表达式的应用,读者可以通过这些示例更好地理解正则表达式的应用。