我的数据集的一部分如下:
UNIVERSITY, S.E.(2015 COURSE) EXAMINATION,OCT 2017 COLLEGE : ****** BRANCH CODE: +++-S.E.(2015 **.)(COMPUTER) DATE : 04 FEB 2018
....................................................................................................
210247 ------- ------- ------- 018/025 024/050 ------- 56 02 B+ 07 14 210248 ------- ------- ------- 018/025 027/050 ------- 60 01 A 08 08 210249 ------- ------- ------- 019/025 ------- ------- 76 01 A+ 09 09 210250 ------- ------- ------- PP ------- ------- PP 00 P 00 00 SEM.:2 207003 037/050 029/050 066/100 ------- ------- ------- 66 04 A 08 32 207003 ------- ------- ------- 019/025 ------- ------- 76 01 A+ 09 09 210251 * 028/050 022/050 050/100 ------- ------- ------- 50 04 B 06 24 210252 031/050 022/050 053/100 ------- ------- ------- 53 04 B 06 24 210255 ------- ------- ------- 018/025 022/050 ------- 53 01 B 06 06 210256 ------- ------- ------- 018/025 025/050 ------- 57 02 B+ 07 14 210257 ------- ------- ------- 018/025 031/050 ------- 65 02 A 08 16 210258 ------- ------- ------- PP ------- ------- PP 00 P 00 00
....................................................................................................
24 210243 025/050 030/050 055/100 ------- ------- ------- 55 04 B+ 07 28 210244 034/050 022/050 056/100 ------- ------- ------- 56 04 B+ 07 28 210245 027/050 026/050 053/100 ------- ------- ------- 53 04 B 06 24 210246 ------- ------- ------- 021/025 033/050 ------- 72 01 A+ 09 09 210247 ------- ------- ------- 021/025 022/050 ------- 57 02 B+ 07 14 210248 ------- ------- ------- 020/025 028/050 ------- 64 01 A 08 08 210249 ------- ------- ------- 020/025 ------- ------- 80 01 O 10 10 210250 ------- ------- ------- PP ------- ------- PP 00 P 00 00 SEM.:2 207003 * 028/050 014/050 042/100 ------- ------- ------- FF 04 F 00 00 207003 ------- ------- ------- 020/025 ------- ------- 80 01 O 10 10 210251 027/050 022/050 049/100 ------- ------- ------- 49 04 C 05 20 210252 023/050 030/050 053/100 ------- ------- ------- 53 04 B 06 24 ....................................................................................................
他们是两个学期的学生分数,由一系列(.....)分开。
我想提取仅在(................)点之间的数据
我用过
re.search(r'[A-Z](\d)+(\w).*(: \d+)(\.)(\d{2})[,](\w* )(\D*)(\d+)', studentdata).group(0)
但只获得部分数据。
我做错了什么? 任何帮助表示赞赏。
由于
答案 0 :(得分:1)
要获取(................)点之间的数据,您可以使用以下代码:
import re
regex = r'\.\.\s+(.*?)\.\.'
test_str = ("UNIVERSITY, S.E.(2015 COURSE) EXAMINATION,OCT 2017 COLLEGE : ****** BRANCH CODE: +++-S.E.(2015 **.)(COMPUTER) DATE : 04 FEB 2018\n\n"
".................................................................................................... 210247 ------- ------- ------- 018/025 024/050 ------- 56 02 B+ 07 14 210248 ------- ------- ------- 018/025 027/050 ------- 60 01 A 08 08 210249 ------- ------- ------- 019/025 ------- ------- 76 01 A+ 09 09 210250 ------- ------- ------- PP ------- ------- PP 00 P 00 00 SEM.:2 207003 037/050 029/050 066/100 ------- ------- ------- 66 04 A 08 32 207003 ------- ------- ------- 019/025 ------- ------- 76 01 A+ 09 09 210251 * 028/050 022/050 050/100 ------- ------- ------- 50 04 B 06 24 210252 031/050 022/050 053/100 ------- ------- ------- 53 04 B 06 24 210255 ------- ------- ------- 018/025 022/050 ------- 53 01 B 06 06 210256 ------- ------- ------- 018/025 025/050 ------- 57 02 B+ 07 14 210257 ------- ------- ------- 018/025 031/050 ------- 65 02 A 08 16 210258 ------- ------- ------- PP ------- ------- PP 00 P 00 00\n"
".................................................................................................... 24 210243 025/050 030/050 055/100 ------- ------- ------- 55 04 B+ 07 28 210244 034/050 022/050 056/100 ------- ------- ------- 56 04 B+ 07 28 210245 027/050 026/050 053/100 ------- ------- ------- 53 04 B 06 24 210246 ------- ------- ------- 021/025 033/050 ------- 72 01 A+ 09 09 210247 ------- ------- ------- 021/025 022/050 ------- 57 02 B+ 07 14 210248 ------- ------- ------- 020/025 028/050 ------- 64 01 A 08 08 210249 ------- ------- ------- 020/025 ------- ------- 80 01 O 10 10 210250 ------- ------- ------- PP ------- ------- PP 00 P 00 00 SEM.:2 207003 * 028/050 014/050 042/100 ------- ------- ------- FF 04 F 00 00 207003 ------- ------- ------- 020/025 ------- ------- 80 01 O 10 10 210251 027/050 022/050 049/100 ------- ------- ------- 49 04 C 05 20 210252 023/050 030/050 053/100 ------- ------- ------- 53 04 B 06 24 ")
matches = re.findall(regex, test_str, re.DOTALL)
print(matches)
您可以在线查看结果,并在Regex101 here上使用它。