2016-02-26 116 views

回答

1

您需要轉義反斜線,因爲你在插值字符串:

eval "\"1 pages\".gsub(/\\D/, '')" 

或者因爲你不需要插值只是不使用雙引號:

eval '"1 pages".gsub(/\D/, "")' 
1

爲什麼eval忽略gsub

它沒有。它可能看起來如此,因爲\D在雙引號內沒有特殊含義,因此它被解釋爲普通"D""1 pages"內沒有"D"

1

你想逃離D爲好,因爲這是正則表達式的一部分,而不是字符「d」獨:

eval "\"1 pages\".gsub(/\\D/,'')"