public class test {
/**
* @author Wang Yanming
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String email = "@";
boolean b = ("\\w+[.+-]*\\w+@\\w+.(com||cn|edu)");
(b);
String url = "wymsae";
b = ("(http://)?(www.)?\\w+.\\w*.(com||org)");
(b);
String s1 = "ababababaccc";
b = ("[abc]*");
//[abc]代表abc中的一个,[abc]*代表由abc组成的
(b);
String s3 = "f";
b = ("[^abc]");//除abc以外的任何一个字符
(b);
b = ("[a-d]");//代表a到d中的任何一个字符
(b);
String s5 = "d";
b = ("[\\w&&\\D]");//表示英文下划线[[\\w&&\\D]$]表示英文下划线 美元$
(b);
//匹配中文
b = "中国".matches("[\u4e00-\u9fa5]+");
(b);
}
}
规则:
?代表0次或1次(是指紧挨着?之前的内容字符)
+代表1次或多次
*代表0次货多次
{n}代表出现n次
{n,}代表至少n次
{n,m}代表至少n次,最多m次
“.”代表任一字符
“\\d” 0~9
“\\D”任何非数字
“\\s” (s小写)代表空格类字符:' \t ' 、 ' \n ' 、 ' \x0B ' 、 ' \f ' 、 ' \r '
”\\S“ (s大写) 代表非空格类字符
”\\w“ (w小写) 代表可用于标识符的字符 (不包括美元符号) (即0~9数字 字母 下划线 )
”\\W“(W大写) 代表不能用于标识符的字符
[abc] 代表 a b c 中任何一个
[^abc] 代表处a b c 以外的任何字符
[a-d] 代表a至d中的任何一个
另外 括号中允许嵌套括号,可以进行 交并差运算
[a-d[m-p]] 代表a至d 或 m至p中任何一个 (并)
[a-z&&[def]] 代表d e f 中任何一个 (交)
[a-f&&[^bc]] 代表a d e f (差)
[\\w&&\\D] 代表英文 下划线
[[\\w&&\\D]$] 代表英文、下划线 美元