[英]How to match a variable list of items separated by commas
我想把這樣的東西
CS 240, CS 246, ECE 222, ... (more or less); Software Engineering students only
進入
('CS 240', 'CS 246', 'ECE 222', 'ECE 220')
在Python中,與單個課程匹配的代碼如下所示
>>> re.search('([A-Z]{2,5} \d{3})', 'SE 112').groups()
('SE 112',)
我更喜歡僅使用正則表達式的方法,因為我還有很多其他使用'|'的正則表達式 結合起來。 但是,采用拆分的方法是可以接受的。
>>> a="CS 240, CS 246, ECE 222"
>>> b=tuple(a.strip() for a in a.split(','))
>>> b
('CS 240', 'CS 246', 'ECE 222')
>>>
您是否正在尋找csv
標准庫模塊( http://docs.python.org/library/csv.html )?
此方法使用正則表達式並匹配您的輸入:
>>> import re
>>> re.findall("\w+\s\d+", "CS 240, CS 246, ECE 222")
['CS 240', 'CS 246', 'ECE 222']
它不查找逗號。 相反,它會尋找什么,但逗號:它首先匹配多字的字符,然后是一個空格字符,那么多的數字。 Findall查找此模式的所有出現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.