问题
写出与email匹配的正则表达式,并测试该正则表达式的正确性。
方案
首先,分析email的正则表达式,email的正则表达式如下:
[a-zA-Z0-9_\.-]+@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]{2,4}
以上正则表达式可以分成三部分,各个部分如下:
1)[a-zA-Z0-9_\.-]+@
表示a~z、A~Z、0~9、下划线、点以及减号可以出现至少1次也可以多次,然后出现@符号。
2)([a-zA-Z0-9-]+\.)+
这段中的"( )"表示分组,这段正则表示这一组至少出现一次,也可以出现多次。括号中的内容表示,a~z、A~Z、0~9及减号可以至少出现1次也可以出现多次,然后出现"."字符。
3)[a-zA-Z0-9]{2,4}
表示a~z、A~Z、0~9可以出现大于等于2次,小于等于4次。
其次,使用String类的matches方法,可以测试一个字符串是否和一个正则表达式匹配,matches方法的声明如下: