正则表达式:电子邮件地址中的多个子域

Regular expression: multiple subdomain in email address

不难找到 @ 字符之间的所有内容,但问题是我需要 .(点)字符之前的每个单词。

例如,如果电子邮件是:studentname@student.studentschool.com,那么我需要在 @ 字符之后和每个 .(点)之前包含每个单词。

student  
studentschool

到目前为止我尝试的方法只适用于一个域。

(?<=@)[A-Za-z]{2,40}

想不通。

简单!试试这个:

([^.@]+)\.

演示: https://regex101.com/r/nM4jV7/2

解释:

获取点之前但不包含 @ 的所有内容。然后捕获一组中的字符串,不包括结束点。