python re 模块 - 用于提取文本片段的正则表达式

标签 python regex

我有显示类(class)编号、名称、等级和学生所修类(class)的其他信息的文本。具体来说,这些行看起来像这样:

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

也就是说,我无法摆脱 RE 部分。

有人可以帮忙吗?谢谢!

最佳答案

如果布局如您显示的那样固定,则忘记正则表达式,只抓取您想要的列:

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

关于python re 模块 - 用于提取文本片段的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4006798/

相关文章:

python - 如何在 Jupyter Notebook 中禁用单元格截断?

python - Scipy - 优化。找出两个变量之间的比率

javascript - Php 正则表达式 到 javascript 正则表达式

MySQL 查询匹配不带引号的字符串

regex - 更好的 Perl 正则表达式解决方案?

python - 带连接的 Django ORM SELECT

python - 在数组末尾添加 n 个零

python - 这段代码中是如何引用这个execute函数的?

regex - oracle中提取括号外的数据

java - 如何强制使 Java 正则表达式失败?