Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java正则表达式仅接受带有.ca域的电子邮件_Java_Regex - Fatal编程技术网

Java正则表达式仅接受带有.ca域的电子邮件

Java正则表达式仅接受带有.ca域的电子邮件,java,regex,Java,Regex,我真的很不懂正则表达式。有谁能帮我构建一个只接受以.ca结尾的电子邮件的java正则表达式吗 我试过类似的方法 ^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)* @[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.ca$; 谢谢您可以尝试以下方法: ([\w-\.]+)@((?:[\w]+\.)+)(ca) 本着教你如何钓鱼的精神。。。这些都与你尝试的问题直接相关,可能会帮助你提高 我在正则表达式代码中看到的一个趋势是,通过使用\

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

我试过类似的方法

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

您可以尝试以下方法:

([\w-\.]+)@((?:[\w]+\.)+)(ca)

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

  • 我在正则表达式代码中看到的一个趋势是,通过使用
    \\.
    来转义
    ,使其成为文本。通过对其进行双重转义,可以说您需要一个文本斜杠,后跟一个单字符通配符。所以这应该是
    \。
    我看到您也在为其他特殊字符执行此操作
  • 以类格式编写这些特殊字符可能会更容易,例如
    [.]
    。这意味着文字点以及不使用任何转义
  • 您不需要转义字符类中的特殊字符。我想你这样做是为了
    \\+
  • 您可以编写比
    [A-Za-z]
    更简单的
    [A-z]
  • [0-9]
    可以写成
    [\d]
  • [\u A-z0-9]
    可以写成
    [\w]
  • 您缺少一个结束语
为了让你立即行动起来,这应该是有效的:

([\w-\.]+)@((?:[\w]+\.)+)(ca)

我真的,真的很擅长结束那些没有尝试的问题。想想所有有效电子邮件地址的共同点,并创建(或复制)一个与之匹配的正则表达式。然后把它改编成加拿大的域名。肖特:你不用正则表达式。巨大的线索由四个:看到了吗