Javascript 如何在进行任何验证时理解正则表达式

Javascript 如何在进行任何验证时理解正则表达式,javascript,regex,Javascript,Regex,我发现这个reg表达式用于电子邮件验证。但我不清楚它在做什么,我很难理解这个正则表达式在做什么,我如何才能学会理解它 [a-z0-9]+([-+._][a-z0-9]+){0,2}@.*?(\.(a(?:[cdefgilmnoqrstuwxz]|ero|(?:rp|si)a)|b(?:[abdefghijmnorstvwyz]iz)|c(?:[acdfghiklmnoruvxyz]|at|o(?:m|op))|d[ejkmoz]|e(?:[ceghrstu]|du)|f[ijkmor]|g(?:

我发现这个reg表达式用于电子邮件验证。但我不清楚它在做什么,我很难理解这个正则表达式在做什么,我如何才能学会理解它

[a-z0-9]+([-+._][a-z0-9]+){0,2}@.*?(\.(a(?:[cdefgilmnoqrstuwxz]|ero|(?:rp|si)a)|b(?:[abdefghijmnorstvwyz]iz)|c(?:[acdfghiklmnoruvxyz]|at|o(?:m|op))|d[ejkmoz]|e(?:[ceghrstu]|du)|f[ijkmor]|g(?:[abdefghilmnpqrstuwy]|ov)|h[kmnrtu]|i(?:[delmnoqrst]|n(?:fo|t))|j(?:[emop]|obs)|k[eghimnprwyz]|l[abcikrstuvy]|m(?:[acdeghklmnopqrstuvwxyz]|il|obi|useum)|n(?:[acefgilopruz]|ame|et)|o(?:m|rg)|p(?:[aefghklmnrstwy]|ro)|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|t(?:[cdfghjklmnoprtvwz]|(?:rav)?el)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw])\b){1,2}

教你如何理解正则表达式是不可能的。我的建议是,你可以浏览网上的教程,比如

或者你可以去我的办公室

或者正如Martin Barker在另一个答案中所建议的那样,您可以访问并获得关于正则表达式含义的详细解释。

使用https://regex101.com 在您的案例ECMAScript Javascript中,将其设置为正确的风格,它将在解释框中为您提供详细说明


当我写这篇文章并获得截图时,@Rajesh似乎也添加了这篇评论。

尽管如此,我们不推荐,试试看。他们有很好的部分解释你在做什么,你甚至可以添加示例输入来验证你的答案是否有效。请不要在没有实际信用的情况下窃取其他答案,试图让你的答案被别人接受。我们应该支持社区,而不是从他们那里挖苦。@MartinBarker这是你的信用先生:我的错。我会记住的。@MartinBarker如果我能帮上忙的话,简单的向上投票肯定会令人鼓舞。我知道这就是为什么你的票数为零,不是我一开始就否决了你。好吧,我也让你的票数为零。