写一段代码,使用python中的re模块,检查文件夹folder1中,所有使用utf8编码的txt文档,提取所有包含中文数字的句子,以及所有包含阿拉伯数字的句子。
时间: 2023-09-13 16:05:07 浏览: 81
好的,以下是使用Python中的re模块实现的代码:
```python
import os
import re
folder_path = "folder1" # 文件夹路径
regex_chinese_num = re.compile("[一二三四五六七八九零十百千万亿]+") # 匹配中文数字的正则表达式
regex_arabic_num = re.compile("\d+") # 匹配阿拉伯数字的正则表达式
# 遍历文件夹,处理txt文档
for filename in os.listdir(folder_path):
if not filename.endswith(".txt"): # 如果不是txt文档,跳过
continue
file_path = os.path.join(folder_path, filename)
try:
with open(file_path, "r", encoding="utf-8") as f:
for line in f:
line = line.strip() # 去掉头尾的空格和换行符
if regex_chinese_num.search(line) or regex_arabic_num.search(line): # 如果包含中文数字或阿拉伯数字
print(line) # 输出这一句话
except UnicodeDecodeError: # 如果编码错误,跳过
continue
```
这段代码首先定义了一个正则表达式,用于匹配中文数字和阿拉伯数字。然后遍历文件夹中所有txt文档,对每个文档进行处理。首先打开文档并读取每一行,然后用正则表达式检查这一行是否包含中文数字或阿拉伯数字。如果是,则输出这一行。最后如果遇到编码错误,则跳过该文档。
阅读全文