请用Python编程,将下面的内容写入一个文件中,百度的网址为http://www.baidu.com,新浪网址为http://www.sina.com.cn,再读取文件中的内容,提取其中的网络地址,要求使用正则表达式
时间: 2024-09-06 14:05:28 浏览: 74
在Python中,你可以使用内置的`open`函数来写入文件,并使用`re`模块中的`findall`方法来提取网络地址。以下是一个简单的示例代码:
```python
import re
# 写入内容到文件
urls = """百度的网址为http://www.baidu.com, 新浪网址为http://www.sina.com.cn"""
with open('urls.txt', 'w', encoding='utf-8') as file:
file.write(urls)
# 读取文件并使用正则表达式提取网址
with open('urls.txt', 'r', encoding='utf-8') as file:
content = file.read()
# 使用正则表达式匹配网址
url_pattern = r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*(),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'
urls = re.findall(url_pattern, content)
print(urls)
```
这段代码首先将提供的内容写入名为`urls.txt`的文件中,然后再次打开这个文件读取内容,并使用正则表达式查找所有匹配的URL地址。正则表达式`http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*(),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+`用于匹配以http或https开头的网址。
阅读全文