考慮下面的代碼片段:在反斜線GSUB(逃逸,逆向引用)
puts 'hello'.gsub(/.+/, '\0 \\0 \\\0 \\\\0')
此打印(as seen on ideone.com):
hello hello \0 \0
這是非常令人驚訝的,因爲我希望看到類似的東西這個代替:
hello \0 \hello \\0
我的論點是,\
是一個轉義字符,所以你寫\\
得到一個文字反斜槓,因此\\0
是一個文字反斜槓\
其次是0
,等等。顯然這不是如何gsub
解釋它,所以有人可以解釋發生了什麼?
我需要做些什麼來獲得我想要的替換?
+1,沒錯。它與'gsub'完全無關。 'puts'\ 0 \\ 0 \\\ 0 \\\\ 0''打印'\ 0 \ 0 \\ 0 \\ 0'(http://ideone.com/3sPxD) – polygenelubricants 2010-06-13 09:56:57