python - 此代码仅打印单词 student 而不是其后的名称我使用正则表达式相同
问题描述
我已经使用正则表达式模块从以下文本中打印学生姓名,但是在代码中,当我定义我的姓名正则表达式时,它只打印单词 student 我该如何修复它
import re
list = '''Student name - Shaurya Ronak Ajmera
Age - 7 years
Std - 2nd
Parents name - Ronak and Shital Ajmera
Phone no - ******************
Address - ***********
Knows gujarati - can speak and understand. Reads and writes small sentences.
Batch - 11 to 12:30 am'''
numberRegex = re.compile(r'\d{10}')
nameRegex = re.compile(r'(student)\.*[A-Z a-z]+',re.I)
mo = nameRegex.findall(list)
print(mo)
no = numberRegex.findall(list)
print(no)
解决方案
您可以重复匹配之后的所有名称student name -
并将该部分捕获到一个组中。
您可以省略 AZ 并将 az 留在字符类中,因为这re.I
会使匹配不区分大小写。
student name - ([a-z]+(?: [a-z]+)*)
例子
nameRegex = re.compile(r'student name - ([a-z]+(?: [a-z]+)*)', re.I)
推荐阅读
- emacs - 启动 mpi 进程时,Slime\Emacs comint 挂起
- php - 在 eloquent 上的两个不同的相关表中排序
- javascript - 如何在弹出窗口中使用 javascript 将元素从一个下拉列表复制到另一个下拉列表?
- mysql - 数据库无法与服务器连接
- python - Python,样本大于总体
- ios - 当我在数组中创建一些块时,为什么不应该复制索引 0?
- c# - SSRS 报告 - 将来自不同数据源的数据与相同的表合并
- c - 将双指针传递给函数以获取 C 中的字符串
- ios - 如何在iOS中的UILabel上获取可见文本作为字符串?
- javascript - 内容安全策略指令:“script-src 'self'