网站开发 岗位职责,怎样在网站做友情链接,贵州省建设厅网站造价工程信息网,培训机构网站建设re 模块是 Python 中用于处理正则表达式的标准库模块。通过 re 模块#xff0c;可进行字符串匹配、搜索和替换等各种操作。 有几个常用的方法#xff1a;# re.match(pattern, string)#xff1a;从字符串开头开始匹配模式#xff0c;并返回匹配对象。适合用于确定字符串是否…re 模块是 Python 中用于处理正则表达式的标准库模块。通过 re 模块可进行字符串匹配、搜索和替换等各种操作。 有几个常用的方法# re.match(pattern, string)从字符串开头开始匹配模式并返回匹配对象。适合用于确定字符串是否以指定模式开头。# re.search(pattern, string)在整个字符串中搜索匹配模式返回第一个匹配对象。适合用于查找字符串中的某个模式。# re.findall(pattern, string)返回所有非重叠的匹配项列表不返回匹配对象。适合用于找到所有匹配项。# re.finditer(pattern, string)返回一个迭代器包含所有匹配对象需要通过迭代来访问每个匹配对象。# re.sub(pattern, repl, string)替换字符串中的模式匹配项为指定的替换文本。# re.split(pattern, string)根据模式将字符串拆分为子串返回拆分后的子串列表。
import re
# 原始字符串
text Hello, my email is example123email.com
# 定义要搜索的模式
pattern r\b[A-Za-z0-9._%-][A-Za-z0-9.-]\.[A-Z|a-z]{2,}\b
# 搜索模式匹配的内容
matches re.findall(pattern, text)
print(Emails found in the text:)
for match in matches:print(match)
# 替换匹配的内容
new_text re.sub(pattern, REPLACED_EMAIL, text)
print(\nAfter replacing emails:)
print(new_text)import re
text Today is 2024-03-22
pattern r(\d{4})-(\d{2})-(\d{2})
match re.search(pattern, text)
if match:print(Found:, match.group()) # 所有匹配内容print(Year:, match.group(1)) # 第一个分组即年份print(Month:, match.group(2)) # 第二个分组即月份print(Day:, match.group(3)) # 第三个分组即日期# Python 的 re 模块提供了一系列方法用于处理正则表达式。以下是 re 模块中常用的方法及其用途的详细例举
# re.search(pattern, string, flags0):
# 用途在字符串中搜索指定的模式。
import re
text The quick brown fox jumps over the lazy dog fox
pattern rfox
match re.search(pattern, text)
if match:print(Found:, match.group())# re.match(pattern, string, flags0):
# 用途从字符串开头开始匹配指定的模式。re.match() 方法您可以有效地从字符串开头匹配指定模式并提取所需的部分
import re
text apple orange banana
pattern rapple
match re.match(pattern, text)
if match:print(Found:, match.group())import re
text 2024-03-22
pattern r(\d{4})-(\d{2})-(\d{2})
match re.match(pattern, text)
if match:print(Found:, match.group()) # 整个匹配内容print(Year:, match.group(1)) # 第一个分组即年份print(Month:, match.group(2)) # 第二个分组即月份print(Day:, match.group(3)) # 第三个分组即日期# re.findall(pattern, string, flags0):
# 用途查找字符串中所有与模式匹配的子串并返回一个列表。
import re
text The cat and the hat sat flat on the mat
pattern r\b\w{3}\b # 匹配长度为3的单词
matches re.findall(pattern, text)
print(Matches:, matches)# re.sub(pattern, repl, string, count0, flags0):
# 用途替换字符串中与模式匹配的部分。
# import re
# text Hello, my email is example123email.com
# pattern r\b[A-Za-z0-9._%-][A-Za-z0-9.-]\.[A-Z|a-z]{2,}\b
# new_text re.sub(pattern, REPLACED_EMAIL, text)
# print(New text:, new_text)# re.split(pattern, string, maxsplit0, flags0):
# 用途根据模式将字符串分割成子串并返回一个列表。
import re
text apple,orange,banana,pear
pattern r,
parts re.split(pattern, text)
print(Parts:, parts)# re.finditer(pattern, string) 是 re 模块中用于在字符串中查找所有匹配项的方法。
# 它返回一个迭代器该迭代器包含所有匹配的对象您可以通过迭代来访问每个匹配对象并获取相关信息。
import re
text apple orange apple banana apple
pattern rapple
matches re.finditer(pattern, text)
for match in matches:start_index match.start() # 匹配起始索引end_index match.end() # 匹配结束索引matched_text match.group() # 匹配的文本print(fFound {matched_text} at position {start_index}-{end_index})
# Found apple at position 0-5
# Found apple at position 13-18
# Found apple at position 26-31 使用正则表达式来匹配不同格式的电话号码并进行格式化
import re# 定义匹配电话号码的正则表达式
phone_numbers [1234567890,(123) 456-7890,123-456-7890,123.456.7890
]# 定义电话号码的格式化函数
def format_phone_number(phone):# 使用正则表达式匹配不同格式的电话号码pattern r\(?(\d{3})\)?[\s.-]?(\d{3})[\s.-]?(\d{4})match re.match(pattern, phone)if match:# 如果匹配成功则重新格式化电话号码formatted_number -.join(match.groups())return formatted_numberelse:# 如果匹配失败则返回原始电话号码return phone# 对每个电话号码进行格式化
for phone in phone_numbers:formatted_number format_phone_number(phone)print(formatted_number)# 123-456-7890
# 123-456-7890
# 123-456-7890
# 123-456-7890 使用正则表达式进行文本清洗去除非字母字符
import re# 定义需要清洗的文本
text This is an example text! It contains some $special$ characters symbols 123.# 定义清洗文本的函数
def clean_text(text):# 使用正则表达式去除非字母字符cleaned_text re.sub(r[^a-zA-Z\s], , text)return cleaned_text# 对文本进行清洗
cleaned_text clean_text(text)
print(Cleaned Text:, cleaned_text)使用正则表达式从文本中提取出所有的邮箱地址
import re# 定义包含邮箱地址的文本
text Contact us at supportexample.com or feedbacktest.com for any inquiries.# 定义提取邮箱地址的函数
def extract_email_addresses(text):# 使用正则表达式提取邮箱地址pattern r\b[A-Za-z0-9._%-][A-Za-z0-9.-]\.[A-Z|a-z]{2,}\bemails re.findall(pattern, text)return emails# 从文本中提取邮箱地址
extracted_emails extract_email_addresses(text)
print(Extracted Emails:, extracted_emails)使用正则表达式从文本中提取网址链接
import re# 定义包含网址链接的文本
text Check out our website at https://www.example.com for more information. You can also visit us at http://example.org.# 定义提取网址链接的函数
def extract_urls(text):# 使用正则表达式提取网址链接pattern rhttps?://\Surls re.findall(pattern, text)return urls# 从文本中提取网址链接
extracted_urls extract_urls(text)
print(Extracted URLs:, extracted_urls)使用正则表达式删除文本中的空行
import re# 定义包含空行的文本
text This is some text.This is another paragraph.This is a third paragraph.# 定义删除空行的函数
def remove_blank_lines(text):# 使用正则表达式替换连续的多个空行为一个空行cleaned_text re.sub(r\n\s*\n, \n, text)return cleaned_text# 删除文本中的空行
cleaned_text remove_blank_lines(text)
print(Cleaned Text:)
print(cleaned_text)正则表达式Regular Expression是一种用于描述字符串模式的工具可以帮助您在文本中进行搜索、匹配和替换操作。正则表达式由普通字符例如字母、数字和元字符例如.、*、^组成通过组合这些字符来定义匹配规则。
在 Python 中使用 re 模块可以对正则表达式进行操作。以下是一些常用的正则表达式元字符和符号
.匹配任意单个字符除了换行符。^匹配字符串的开头。$匹配字符串的结尾。*匹配前面的表达式零次或多次。匹配前面的表达式一次或多次。?匹配前面的表达式零次或一次。\d匹配一个数字。\w匹配一个字母、数字或下划线。\s匹配一个空白字符空格、制表符等。
示例
a.*b匹配以 a 开头以 b 结尾中间可以有任意字符的字符串。\d{3}-\d{4}匹配电话号码格式例如 123-4567。[A-Za-z]匹配一个或多个字母。