用python写一个垃圾数据过滤
时间: 2023-06-27 08:01:59 浏览: 93
好的,下面是一个基于Python的垃圾数据过滤器示例代码:
```python
import re
def is_junk(text):
# 定义正则表达式模式
patterns = [
r'^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+$',
r'^\d{5,}$',
r'^\d{3}-\d{2}-\d{4}$',
r'^\d{3}\.\d{3}\.\d{4}$',
r'^\d{3}\-\d{3}\-\d{4}$',
r'^\d{4}\s\d{4}\s\d{4}\s\d{4}$',
r'^\d{4}\s\d{6}\s\d{5}$',
r'^\d{16}$',
r'^\d{4}\s\d{4}\s\d{4}\s\d{2}$',
r'^\d{4}\s\d{6}\s\d{4}$',
r'^\d{4}\s\d{4}\s\d{4}\s\d{3}$',
r'^\d{4}\s\d{4}\s\d{4}\s\d{4}\s\d{3}$',
r'^\d{4}\s\d{4}\s\d{4}\s\d{4}\s\d{4}$',
r'^\d{3}\s\d{2}\s\d{4}$',
r'^\d{3}\s\d{3}\s\d{3}$',
r'^\d{3}\s\d{3}\s\d{4}$',
r'^\d{3}\s\d{3}\s\d{5}$',
r'^\d{3}\s\d{3}\s\d{6}$',
r'^\d{2}\s\d{2}\s\d{4}$',
r'^\d{2}\s\d{2}\s\d{5}$',
r'^\d{2}\s\d{2}\s\d{6}$',
r'^\d{9}$',
r'^\d{12}$',
r'^\d{14}$',
r'^\d{18}$',
r'^\d{19}$',
r'^[a-zA-Z0-9]+@[a-zA-Z]+\.(com|org|edu)$',
r'^[a-zA-Z0-9]+@[a-zA-Z]+\.(cn|net)$',
r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$',
r'^[a-zA-Z0-9_.+-]+@[a-zA-Z]+\.(com|org|edu)$',
r'^[a-zA-Z0-9_.+-]+@[a-zA-Z]+\.(cn|net)$',
r'^https?:\/\/[^\s\/]*$',
r'^http?:\/\/[^\s\/]*$',
r'^www\.[^\s\/]*$',
r'^[a-zA-Z]{5,}$',
r'^[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+$',
r'^[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+$',
r'^[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+$'
]
# 对正则表达式模式进行匹配
for pattern in patterns:
if re.match(pattern, text):
return True
return False
```
该函数会接受一个字符串作为输入,并将其与一系列预定义的正则表达式模式进行匹配。这些模式用于匹配常见的垃圾数据类型,例如电子邮件地址、电话号码、银行卡号、网址等等。如果输入的字符串与任何一个模式匹配,则该函数会返回True,表示该字符串是垃圾数据;否则返回False,表示该字符串不是垃圾数据。
你可以使用该函数来过滤你的数据,例如:
```python
text = "This is a sample email address: example@example.com"
if is_junk(text):
print("This is junk data!")
else:
print("This is valid data.")
```
输出结果:
```
This is junk data!
```
阅读全文