python从键盘输入一行字符串,将该字符串写入文件,使用正则表达式提取文件中的电话号码,以“第n个电话号码是:”“输出
时间: 2024-10-20 18:10:03 浏览: 15
python按行读取文件并找出其中指定字符串
在Python中,你可以按照以下步骤完成这个任务:
1. **获取用户输入的字符串**:
```python
input_string = input("请输入一行字符串:")
```
2. **打开文件并写入字符串**:
```python
with open('output.txt', 'w') as file:
file.write(input_string)
```
3. **读取文件内容,并使用正则表达式提取电话号码**:
首先需要安装`re`模块(如果尚未安装),然后编写一个正则表达式来匹配电话号码。这里假设电话号码是以国际格式(如+xx-xxx-xxxx)或国内格式(如010-12345678)的形式存在。例如:
```python
import re
phone_pattern = r'\+\d{1,3}-\d{1,4}-\d{4,}' # 匹配国际格式
# 或者
# phone_pattern = r'(\d{3}-)?\d{7,11}' # 匹配国内固定电话格式
with open('output.txt', 'r') as file:
content = file.read()
matches = re.findall(phone_pattern, content)
numbers = [f"第{n + 1}个电话号码是:{match}" for n, match in enumerate(matches, start=1)]
```
4. **打印提取出的电话号码**:
```python
for number in numbers:
print(number)
```
如果你有一个特定的电话号码格式,可以根据实际情况调整正则表达式。
阅读全文