python通过正则表达式找出给定5个文本中的ID和人名。
时间: 2024-09-28 08:13:57 浏览: 109
在Python中,你可以使用`re`模块的`search()`或`findall()`函数结合正则表达式来查找文本中的ID和人名。首先,你需要了解一些基本的正则表达式模式:
- ID通常是一个连续的数字序列,比如`\d+`,这将匹配一个或多个数字。
- 人名可能包含字母、空格、撇号等,可以使用较宽松的模式,比如`[a-zA-Z]+`(匹配字母)、`\s+`(匹配空格)加上名字分隔符,比如`\b[A-Za-z]+\b`(匹配单词边界内的单个单词)。
下面是一个简单的示例,假设我们有一个列表`texts`,其中包含了待搜索的文本:
```python
import re
# 假设我们有以下文本列表
texts = [
"用户ID: 123456, 用户名 John Doe",
"用户ID 987654,John Smith",
"用户ID13579, Jane Austen"
]
# 定义正则表达式模式
id_pattern = r'\b\d+\b'
name_pattern = r'\b[A-Za-z]+\b'
# 查找ID和人名
results = {}
for text in texts:
id_match = re.search(id_pattern, text)
name_match = re.findall(name_pattern, text)
if id_match:
results[text] = {"ID": id_match.group(), "Name": None}
if name_match:
results[text]["Name"] = ", ".join(name_match)
print(results)
```
在这个例子中,`results`字典会存储每个文本中的ID(如果有找到的话)和人名(如果有的话,按逗号分隔)。
阅读全文