簡體   English   中英

如何匹配以逗號分隔的可變項列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM