我没有真正的使用正则表达式的经验,只是说。 我想用以下格式从电子邮件地址中提取域名。
richardc@mydomain.com 所以正则表达式只返回:mydomain
如果可能的话,解释它是如何/为什么有效的! 干杯
答案 0 :(得分:7)
这里捕获(...)
组\1
中的域名,并用该捕获替换整个字符串,这只会在结尾处产生域名。
email = 'richardc@mydomain.com'
domain = email.gsub(/.+@([^.]+).+/, '\1')
# => mydomain
.+
表示任何字符(\n
除外)。所以它基本上匹配整个电子邮件字符串,并使用([^.]+)
捕获域名[除了点之外的任何东西]
答案 1 :(得分:0)
如果您想采用解析路径,则mail
gem将完成此工作:
Mail::Address.new("richardc@mydomain.com").domain