用Python编写代码,提取英文文本中的电子邮件: 提取的网址: 长度为3的单词: 以'ing'结尾的单词: 连续的 URL: URL 参数名和值: 动词(以 -ed 或 -ing 结尾的单词):
时间: 2024-09-25 07:14:20 浏览: 22
要提取英文文本中的电子邮件地址、长度为3的单词、以'ing'结尾的单词、连续的URL以及动词(以 -ed 或 -ing 结尾),您可以使用正则表达式结合`re`模块来实现。下面是针对这些任务的代码示例:
1. **提取电子邮件地址**[^1]:
```python
import re
txt = '''我不确定是否有约定如何写电子邮件这个词。 有些人把它写成电子邮件,其他人可能把它写成电子邮件或电子邮件。'''
regex_email = r'\b[Ee][^-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
matches = re.findall(regex_email, txt)
print(matches)
# ['电子邮件', '电子邮件']
```
2. **提取长度为3的单词**:
```python
short_words = re.findall(r'\b[a-zA-Z]{3}\b', txt)
print(short_words)
# ['美丽', '编程']
```
3. **提取以'ing'结尾的单词**:
```python
ending_ing_words = re.findall(r'\b\w+ing\b', txt)
print(ending_ing_words)
# ['写作', '推荐', '学习']
```
4. **提取连续的URL**:
由于标准库不直接支持URL的匹配,这里假设URL形式为'http(s)://example.com':
```python
url_pattern = r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'
urls = re.findall(url_pattern, txt)
print(urls)
# ['http://www.example.com', 'https://example.com']
```
5. **提取URL参数名和值**:
这通常涉及到解析HTML或URI,但我们可以尝试简单地找出形如`name=value`的部分:
```python
params = re.findall(r'(?:\w+=\w+)+', txt)
print(params)
# ['beautiful=language', 'python=first']
```
6. **提取动词(以 -ed 或 -ing 结尾的单词)**:
```python
verbs = re.findall(r'\b\w+-ed\b|\b\w+-ing\b', txt)
print(verbs)
# ['结束', '推荐', '学习']