-5

我对正则表达式真的很不好。谁能帮我建立一个只接受以.ca结尾的电子邮件的java正则表达式。

我试过类似的东西

^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*
      @[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.ca$;

谢谢

4

2 回答 2

1

本着教你如何钓鱼的精神……这些都与你尝试的问题直接相关,可能会帮助你提高。

  • 我在您的正则表达式代码中看到的一个趋势是您正在逃避.使用\\.. 通过双重转义它,您是说您想要一个文字斜线后跟一个单字符通配符。所以那应该是\. 我看到你对其他特殊字符也这样做了。
  • 像这样以类格式编写这些特殊字符可能更容易[.]。这也意味着文字点并且不使用任何转义。
  • 您不需要转义字符类中的特殊字符。我想你这样做是为了\\+
  • 你可以写得[A-Za-z]更简单[A-z]
  • [0-9]可以写成[\d]
  • [_A-z0-9]可以写成[\w]
  • 你错过了一个结束)

为了让你立即开始,这应该有效:

([\w-\.]+)@((?:[\w]+\.)+)(ca)
于 2013-05-05T04:54:57.767 回答
0

你可以试试这个:

([\w-\.]+)@((?:[\w]+\.)+)(ca)
于 2013-05-05T04:44:11.853 回答