我有一些問題要起一個class2
匹配class1
,一個正則表達式,並class3
分離(理想情況下,我可以有ň通過管道分離,作爲字數傳遞給我的方法類數量不是常數)正則表達式字符串由以下字符串豎線
class1|class2|class3 path/to/resource
我有以下的匹配僅返回class1
。獎金指向任何人都可以找到我的資源路徑匹配器。
編輯
非常感謝所有幫助 - 點四周!
我有一些問題要起一個class2
匹配class1
,一個正則表達式,並class3
分離(理想情況下,我可以有ň通過管道分離,作爲字數傳遞給我的方法類數量不是常數)正則表達式字符串由以下字符串豎線
class1|class2|class3 path/to/resource
我有以下的匹配僅返回class1
。獎金指向任何人都可以找到我的資源路徑匹配器。
編輯
非常感謝所有幫助 - 點四周!
假設您確信您的輸入將會很好地形成,我的建議是將管道字符和空格分開您的字符串。例如:
components = "class1|class2|class3 path/to/resource".split(/[ \|]/)
然後,您可以訪問包含n個組件的數組,然後訪問您可以操作訪問的資源路徑。
resourcePath = components.pop()
classes = components
編輯:原來的話題建議OP是使用Ruby,因此我的答案。
string = "class1|class2|class3 path/to/resource".split(%r{[| ]})
=> [ 「class1的」, 「等級2」, 「CLASS3」, 「路徑/到/資源」]
如果你想使用正則表達式與您提供的輸入,這將提取您的類和路徑:
([\w/]+)\|? ?
INPUT
class1|class2|class3 path/to/resource
輸出
class1
class2
class3
path/to/resource
我只想做兩個分裂:
string = 'class1|class2|class3 path/to/resource'
p string.split.first.split('|') #=> ["class1", "class2", "class3"]
看來我是處理這個問題都錯了 - 非常感謝你! :-) – nicohvi
@Nicolay是的,雖然可以通過正則表達式得到你想要的東西,我在我的答案中提供了; )但Pat Teen的解決方案更合適。 – Tafari