(很抱歉的壞稱號,任何建議讚賞);-)正則表達式匹配一些給定格式文件名的條件?
好,考慮這些字符串:
first = "SC/SCO_160ZA206_T_mlaz_kdiz_nziizjeij.ext"
second = "MLA/SA2_jkj15PO_B_lkazkl lakzlk-akzl.oxt"
third = "A12A/AZD_KZALKZL_F_LKAZ_AZ__azaz___.ixt"
我正在尋找一個正則表達式讓我得到這樣的陣列(在紅寶石):
first_array = ['SCO', '160ZA206', 'T', 'mlaz_kdiz_nziizjeij']
second_array = ['SA2', 'jkj15PO', 'B', 'lkazkl lakzlk-akzl']
third_array = ['AZD', 'KZALKZL', 'F', 'LKAZ_AZ__azaz___']
的第一場比賽必須在/
之後和之前的第一_
第二匹配必須是第一個和第二_
第三匹配必須是第二和第三_
最後匹配必須是第三_
和最後.
之間的任何東西之間的任何東西之間的任何
我不能得到它:[^\/].?([A-Z]*)_(.*)_(.*)[\.$]
:-(
ruby是否有一個範圍有限'分裂'功能?如果是的話,從第一個/最後一個字符串開始,然後用'_'分割,最多分爲三組:「數組」元素(如果這是Ruby中調用的)將包含你想要的。 – fge 2012-01-05 20:28:47
+1很高興看到一個正則表達式的問題,其中OP在承包出棧之前付出了一些努力 – ean5533 2012-01-05 20:31:25
@fge:不幸的是我不能使用'_'來分割我的字符串,最後一個匹配可能包含'_' 。 – 2012-01-05 20:39:18