如何匹配以逗号分隔的项目变量列表
我想在Python中将类似的东西变成这样
CS 240, CS 246, ECE 222, ... (more or less); Software Engineering students only
,
('CS 240', 'CS 246', 'ECE 222', 'ECE 220')
匹配单个课程的代码看起来像
>>> re.search('([A-Z]{2,5} \d{3})', 'SE 112').groups()
('SE 112',)
我更喜欢仅正则表达式的方法,因为我有一堆使用“|”的其他备用reg exps将它们结合起来。但是,使用 split 的方法也是可以接受的。
I want to turn something like this
CS 240, CS 246, ECE 222, ... (more or less); Software Engineering students only
into
('CS 240', 'CS 246', 'ECE 222', 'ECE 220')
in Python, code that matches a single course looks like
>>> re.search('([A-Z]{2,5} \d{3})', 'SE 112').groups()
('SE 112',)
I prefer a regular expression only method because I have a bunch of other alternate reg exps using '|' to combine them. However, a method with split is acceptable.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不是
csv
标准库模块 ( http://docs. python.org/library/csv.html )您在寻找什么?Isn't the
csv
standard library module ( http://docs.python.org/library/csv.html ) what you are looking for?此方法使用正则表达式并匹配您的输入:
它不查找逗号。相反,它会查找除逗号之外的任何内容:它首先匹配多个单词字符,然后匹配空格字符,然后匹配多个数字。 Findall 查找此模式的所有出现情况。
This method uses regular expressions and matches your input:
It does not look for the comma. Instead it looks for anything but the comma: it first matches multiple word characters, then a space character, then multiple digits. Findall looks for all occurrences of this pattern.