我以前没有使用正则表达式的实际经验,只是说一下。
我想从以下格式的电子邮件地址中提取域名。
richardc@mydomain.com 因此,正则表达式应返回:mydomain
如果可能的话,请对其如何/为什么起作用进行说明! 干杯
richardc@mydomain.com 因此,正则表达式应返回:mydomain
如果可能的话,请对其如何/为什么起作用进行说明! 干杯
这里使用正则表达式捕获(...)
中的域名,放在组\1
中,然后用该捕获替换整个字符串,从而仅得到末尾的域名。
email = 'richardc@mydomain.com'
domain = email.gsub(/.+@([^.]+).+/, '\1')
# => mydomain
.+
表示匹配除 \n
以外的任意字符。因此它基本上匹配整个电子邮件字符串,并使用 ([^.]+)
[表示除了点号之外的任何字符] 捕获域名。
mail
gem 可以胜任此任务:Mail::Address.new("richardc@mydomain.com").domain