2013-02-23 68 views
0

嘿同胞Stackerenos!

我需要幫助破譯這裏使用的正則表達式:

"one two-three".sub(/(t\w*)/) { $1[0, 1] } 

這裏就是我想它的意思。正則表達式/(t \ w *)/將匹配到「tw」,它將用{$ 1 [0,1]}替代它。但是{$ 1 [0,1]}是什麼意思?

感謝您的幫助!

+0

可能重複的[Ruby正則表達式問題關於字符串的子方法](http://stackoverflow.com/questions/4626425/ruby-regex-question-wrt-the-sub-method-on-string) – 2013-02-23 08:10:05

+0

*正則表達式/(t \ w \ *)/將與「tw」*匹配不正確。 '\ w *'將匹配任意數量的*單詞字符*,即。全部是字母數字[a-zA-Z0-9],所以在這種情況下它將匹配** wo **。 – 2013-02-23 10:00:45

+0

課程!謝謝大衛。 – User314159 2013-02-24 00:34:36

回答

0

正則表達式的第一個匹配的位置0的第一個單個(1)字符,在這種情況下,這意味着t

1

{$ 1 [0,1]}是一個塊,用於計算字符串中被捕獲組的第一個字符。有關詳細說明,請參閱this answer