Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python re模块-使用什么正则表达式来提取文本片段_Python_Regex - Fatal编程技术网

python re模块-使用什么正则表达式来提取文本片段

python re模块-使用什么正则表达式来提取文本片段,python,regex,Python,Regex,我有文本显示课程编号、名称、成绩和学生所修课程的其他信息。具体来说,这些线条如下所示: 0301 453 20071 LINEAR SYSTEMS I A 4 4 16.0 0301 481 20071 ELECTRONICS I WITH LAB A 4 4 16.0 0301 481 20084 ELECTRONICS II WITH LAB RE B 4 4

我有文本显示课程编号、名称、成绩和学生所修课程的其他信息。具体来说,这些线条如下所示:

0301 453  20071 LINEAR SYSTEMS I                    A    4   4    16.0

0301 481  20071 ELECTRONICS I WITH LAB              A    4   4    16.0

0301 481  20084 ELECTRONICS II WITH LAB      RE     B    4   4    12.0

0301 713  20091 SOLID STATE PHYSICS          NG          0   0     0.0

0511 454  20074 INT'L TRADE & FINANCE               B    4   4    12.0
我想编写一个正则表达式来提取:

LINEAR SYSTEMS I
ELECTRONICS I WITH LAB
ELECTRONICS II WITH LAB
SOLID STATE PHYSICS
INT'L TRADE & FINANCE
我写了以下内容

pattCourseName=re.compile(r'([-/&A-Z\':\s]{2,})(\s+[A-Z]))

然而,这给了我

LINEAR SYSTEMS I
ELECTRONICS I WITH LAB
ELECTRONICS II WITH LAB      RE
SOLID STATE PHYSICS
INT'L TRADE & FINANCE
也就是说,我无法摆脱这一部分


有人能帮忙吗?谢谢

如果布局如您所示是固定的,那么忘记正则表达式,只需获取所需的列:

course_name = line[16:45].strip()

如果布局如图所示是固定的,那么请忘记正则表达式,只需获取所需的列:

course_name = line[16:45].strip()
输出

$ python myscript.py
LINEAR SYSTEMS I
ELECTRONICS I WITH LAB
ELECTRONICS II WITH LAB
SOLID STATE PHYSICS
INT'L TRADE & FINANCE
输出

$ python myscript.py
LINEAR SYSTEMS I
ELECTRONICS I WITH LAB
ELECTRONICS II WITH LAB
SOLID STATE PHYSICS
INT'L TRADE & FINANCE

美丽的!这将是伟大的当列不对齐,我学到了新的命令从您的解决方案。谢谢美丽的!这将是伟大的当列不对齐,我学到了新的命令从您的解决方案。谢谢