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

作者: proshea
发布时间:2015-07-01 14:36:51

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"

来源:http://www.cnblogs.com/proshea/archive/2006/04/18/378339.htm

推荐: