正则:^[a-zA-Z][\\w_]*@\\w+(\\.[a-zA-Z]+)+$
有两块相同的验证:[a-zA-Z],
我使用组的概念改写为:^([a-zA-Z])[\\w_]*@\\w+(\\.\\1+)+$
就会验证失败,为什么?
我的代码:
- package com.test.basic.regularexpression;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.regex.Pattern;
- /**
- * 简单测试
- * @author yanan.wang
- * 2014.2.24
- *
- */
- public class SimpleRegExpTest {
-
- public static void main(String[] args) {
-
- /*
- * 验证邮箱格式-略精确验证
- */
- simpleRegExpTest("^([a-zA-Z])[\\w_]*@\\w+(\\.[a-zA-Z]+)+$");
- }
- public static void simpleRegExpTest(String regex) {
-
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- while(true) {
- try {
- String input = br.readLine();
- if(input.equals("exit")) {
- br.close();
- System.exit(0);
- }
- System.out.println(input + ", " + Pattern.matches(regex, input));
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
复制代码
|