我已經偶然發現了這個Ruby代碼。我知道\ d {4})\ /(\ d \ d)\ /(\ d \ d)\ /(。*)/意思,但是\ 1- \ 2- \ 3- \ 4是什麼意思?什麼是gsub(/( d {4}) /( d d) /( d d) /(。*)/,' 1- 2- 3- ) 意思?
回答
的\1-\2-\3-\4
是back references到正則表達式內所捕獲的數據本身。
因此,\1
包含在第一組中捕獲的數據,\2
是在第二組中捕獲的數據,\3
是在第三組中捕獲的數據,依此類推。
看到這裏的Ruby implementation
我認爲\ 1,\ 2等只是引薦到匹配組
即\ 1 ==(\ d {4})
這些都是反向引用。 \ 1表示第一組括號()
的結果,即(\d\d)
,\ 2表示第二組等。
他們提到回匹配組(substituion反向引用)
變換1234/12/12/XX
到1234-12-12-XX
嗯,這是什麼? – 2011-04-01 15:51:55
什麼'gsub(/(\ d {4})\ /(\ d \ d)\ /(\ d \ d)\ /(。*)/,'\ 1- \ 2- \ 3- \ )'實際上是。 '1234/12/12/XX'只是一個樣本輸入 – knoopx 2011-04-01 15:54:32
啊,好的。你原來的回答並沒有太多意義。 – 2011-04-01 15:56:47
您可以捕獲正則表達式的模式的部分放置它們在括號內,然後在替換部分按照它們出現的順序用\ 1,\ 2,\ 3,...引用它們。
在你的例子中,1將是前4位數字,2將是後2位數字,3將是以下2位數字,其餘4位數字。
所以「20100410milk」將被「2010-04-10牛奶」取代,因爲\ 1將會是2010,\ 04 \,\ 3 10和\ 4牛奶。
您錯過了輸入中的文字斜槓。 – Phrogz 2011-04-01 17:35:38
- 1. ** D是什麼意思在string.format(** D)?
- 2. 這個正則表達式是什麼意思:\\ d {3} - \\ d {4}。*
- 3. 正則表達式(\ d {3})(?= \ d)是什麼意思?
- 4. Perl:m /^.* \。(\ d +)$ /是什麼意思?
- 5. pdfgrep'\ d {3} - \ d {2} - \ d {4}'vs'[0-9] {3} [ - ]?[0-9] {2} [ - ]?[0- 9] {4}」
- 6. 1-d指針2-d陣列
- 7. 正則表達式[。\ d \ D] *是什麼意思?
- 8. 導入示例^ \ d {3} - \ d {4} $ 「」
- 9. M,D的意思是十進制(M,D)究竟是什麼意思?
- 10. NSString stringWithFormat「%」「d」4而不是「%d」4?
- 11. 使用正則表達式識別窗體\ d \ d \ d \ d \ d \ d的日期
- 12. 「npm -d install」中的「-d」是什麼?
- 13. 「D:,H :, V:」是什麼意思在fbset?
- 14. 什麼是4'd#符號?
- 15. WPF中的mc:Ignorable =「d」是什麼意思?
- 16. REGEX是什麼意思? [a-zA-Z] | \ d
- 17. JSON中的.d是什麼意思?
- 18. php標誌-d是什麼意思?
- 19. 模式\ d {10}是什麼意思?
- 20. javac -d是什麼意思。 classname.java
- 21. VBScript - RegEx - 修改ObjMatch - Pattern =「(\ d {2})(\ d {2})(\ d {2})」
- 22. 爲什麼\ d \ +或\ d +在這裏不等於\ d *?
- 23. 二進制炸彈(階段4)%d%d
- 24. Perl正則表達式(\ d * \。\ d {2})
- 25. 在java -D中D代表什麼?
- 26. 什麼是2 + 1-D時空視頻?
- 27. 什麼是stringWithFormat:@「%1 $ @%2 $ d」呢?
- 28. Convert.ToDateTime(D)與(DateTime)相比D
- 29. 區別:d [count]和d [count]
- 30. {0 [Jack]:d}在Python中.format(),'d'的意義是什麼?
有人是一個大的反斜槓風扇。 '%r [(\ d {4})/(\ d \ d)/(\ d \ d)/(。*)]'而不是'/(\ d {4})\ /(\ d \ d)\ /(\ d \ d)\ /(。*)/'? – 2011-04-01 15:55:12
@Jörg:作者可能不知道'%r'正則表達式文字。 – 2011-04-01 15:57:38
我是ruby的新手,所以我不知道你們在談論什麼,但它似乎%r [(\ d {4})/(\ d \ d)/(\ d \ d)/(。*)]對我來說也更清潔。 – studiomohawk 2011-04-04 10:36:13