Ruby 入门: 正则表达式之反向引用

Ruby 和 Perl 一样,对正则表达式的天然支持都是它们的优势所在,懂得 Perl 的朋友可以看出,Ruby 的正则表达式很多地方和 Perl 都是如出一辙的。

反向引用 :-)不知道该怎么翻译,所以请 Rufas(Ruby Fans) 原谅我借用了 Perl 的名词

反向引用就是引用正则表达式中被括号括起来的模式,下面两行的模式就是相同的,只是第二句采用了反向引用的形式。
pat1 = /([\d\w])-([\d\w])/
pat2 
= /([\d\w])-\1/

需要注意的是反向引用的括号必须位于引用位置的左边。另外,如果在反向引用之后想要紧接着匹配一个数字,那么必须把反向引用表达式括起来。
pat1 = /([\d\w])-(\1)0/
pat2 
= /([\d\w])-\10/

# 0
print pat1 =~ "1-10"
# nil
print pat2 =~ "1-10"

posted on 2006-04-18 16:24  proshea  阅读(2151)  评论(3编辑  收藏  举报

导航