我试图在IRB中找出正则表达式并得到一些意想不到的输出。 目标是将所有内容匹配到FQDN中的最后一个点。
因此,例如,如果我尝试匹配字符串"flowtechconsulting.com"
,
我从以下开始:
s1.sub(/^(.*)\\./, "\\1") #=> "flowtechconsultingcom"
但是,sub
函数只返回除点之外的所有内容,而不是第一个匹配组。
如果我添加两个匹配的组,它可以工作:
s1.sub(/^(.*)\\.(.*)$/, "\\1") #=> "flowtechconsulting"
我只是不确定为什么第一个不起作用。好像应该这样。
答案 0 :(得分:1)
/^(.*)\./
仅捕获到达点的所有内容。 “com”未被捕获,因此在替换中不会被替换。
答案 1 :(得分:0)
忘记sub
,并执行以下操作:
"foo.bar.baz.com"[/(.*)(?:\.)/, 1]
# => "foo.bar.baz"