我無法找出解析特定字符串集合的最佳方法。具有可變選項的紅寶石正則表達式
字符串的一些例子我會翻過是:
str = 'name[key1][key2][key3]'
str2 = 'name[key1]'
str3 = 'name'
這裏是各自的陣列我希望能走出字符串:
arr1 = ['name', 'key1', 'key2', 'key3']
arr2 = ['name', 'key1']
arr3 = ['name']
因此,大家可以看到,該密鑰是可選的,可以是一個變量計數。
最近我已經能夠來是這樣的:
>> str = 'name[key1][key2][key3]'
"name[key1][key2][key3]"
>> str.scan(/(.+?)(\[.+?\])/)
[["name", "[key1]"], ["[key2]", "[key3]"]]
所以,我總是可以做一個扁平化數組,然後擺脫支架的GSUB,但我不想要一起破解它。我希望能夠一次完成它。我認爲只是在支架上做了一個字符串拆分,但是這也似乎是一種繃帶式的方法。如果任何人有關於如何能夠比正則表達式更好地實現這一點的想法,或者我如何使用我正在使用的方法正確完成這個想法,那會很棒!
對不起,我試過第一個答案也是最簡單的。謝謝大家的回覆,這種情況很好!正則表達式肯定是我的一個弱點:) – Sean