2013-10-29 96 views
0

我想從字符串的開頭刪除單個*字符和任何空格。爲什麼紅寶石警告我這個正則表達式?

這是正則表達式我有/^\*{1}(?:\s+)?/

這裏是一個Rubular鏈接http://rubular.com/r/r5i4FpQdK2

但是Ruby的是,當我嘗試使用它拋出一個警告。

001:0> regex = /^\*{1}(?:\s+)?/ 
warning: nested repeat operator + and ? was replaced with '*': /^\*{1}(?:\s+)?/ 
=> /^\*{1}(?:\s+)?/ 

實際測試仍然工作

002:0> "* foo" =~ regex 
=> 0 

,但我想不出是什麼導致了警告。

任何意見,將不勝感激。

回答

1

代替(?:\s+)?使用(?:\s*)或只是\s*

\s+允許一個或多個空格和以下?使得可選的,它可以與零個或更多的空間作爲\s*當然

+0

所取代。應該明白這一點。感謝堆。 –