2010-07-25 69 views
2

我必須寫一個參數解析器,它作爲一個字符串傳遞ala {a,b,c}分隔符是後面有一個空格的逗號,但它可以用管道轉義「|」在它之前。所以我想寫一個像/[^\|], /這樣的正則表達式來分割,然後去掉所有的轉義字符。但是當使用它時,它也會在分隔符之前被字符分割。紅寶石拆分正則表達式的一部分

我應該如何去完成我在找的東西?

回答

3

如果您使用的是Ruby 1.9版本,則可以拆分/(?<!\|),/

(?<!\|)是一個負面的lookbehind斷言,意思是「確保前面的字符不是|」。

+0

啊!我一直在使用Rubular來測試我的正則表達式,它並沒有提到它,所以我從來不知道它。謝謝! – Randuin 2010-07-25 20:20:20

+0

據我所知,Rubular使用Ruby 1.8的正則表達式引擎,但它並不知道向後看。 – 2010-07-25 20:29:11