【发布时间】:2015-12-21 11:50:23
【问题描述】:
分解下面的代码来理解我的正则表达式和gsub的理解:
str = "abc/def/ghi.rb"
str = str.gsub(/^.*\//, '')
#str = ghi.rb
^:字符串的开头
\/ : / 的转义字符
^.*\/ :字符串中从/ 开始到最后出现的所有内容
我对表达的理解对吗?
.* 究竟是如何工作的?
【问题讨论】:
-
实际上,
^是行首的锚点。字符串的开头是\A。对于单行字符串,两者的工作方式相同。 -
您的正则表达式没有问题,但
File.basename(str)可能更合适。 -
这在 Internet 和 Regexp 文档中都有很好的记录。 meta.stackoverflow.com/questions/261592/…