-10

私はいくつかのコードを持っています:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;

private boolean validateEmail(...)

Pattern p = Pattern.compile("^((?:(?:(?:[a-zA-Z0-9][\\.\\-\\+_]?)*)[a-zA-Z0-9])+)\\@((?:(?:(?:[a-zA-Z0-9][\\.\\-_]?){0,62})[a-zA-Z0-9])+)\\.([a-zA-Z0-9]{2,6})$");

Matcher m = p.matcher(fieldValue);
boolean matches = m.matches();

if (!matches) {    
// show not valid msg...
}
return matches;
}

そのパターンで何^((?:(?:(?:を意味しますか?((?:(?:(?:文字は否定(すべてなし)を意味しますが、他の^文字は?

4

1 に答える 1

3

(?:...)非捕捉グループを示します。?:式をグループ化したいが、文字列の一致/キャプチャされた部分として返すことを避けたい場合に使用されます。

角括弧の^外側にある場合、 は否定を意味しません。文字列の先頭から一致することを意味します。

于 2013-10-22T08:58:39.050 に答える