正则表达式Regex

是什么:一句话,正则表达式是对字符串执行模式匹配的技术。

从一段字符串中提取出所有英文单词、数字、字母和数字。

如果采用传统方法:将字符串的所有字符分割成单个,根据ASCII码判断,在一定范围内就是字母,每获得一个字母就拼接。

 String content = "根据PC-Meter1996年的调查,平均每个互联网用户每次访问的环球网的网站有5.6个," +
                "每次查看的网页20.8个,而平均阅读每一个网页所需要的时间大约1.4分钟,平均每次上网阅读环球网页的时间大约28分钟。" +
                "作为这样一种具有私人和公共的双重功用的传媒,互联网效用的实现从根本上还是依赖于参与者," +
                "也就是用户的增加。而这一特性又是和网络的性质是完全一致的。";
        //1.先创建一个Pattern对象
//        Pattern pattern = Pattern.compile("[a-zA-Z]");
//        Pattern pattern = Pattern.compile("[0-9]+");
        Pattern pattern = Pattern.compile ("[a-zA-Z]|[0-9]+");
        //2.创建一个匹配器对象matcher,这个matcher按照指定的pattern,到content中去匹配
        Matcher matcher = pattern.matcher(content);
        //3.循环匹配,find的返回值是true/false,即找到就返回true
        while(matcher.find()){
            System.out.println(matcher.group(0));
        }

元字符

1."?"匹配0或1个字符
"used?"可以同时匹配use和used
2."*"匹配0个或多个字符

"ab*c"
ac
abc
abbc
adc---匹配失败,a和c中间只能是0或多个b

3."+"匹配至少出现1次的字符

"ab+c"
ac----匹配失败,a和c中间必须要有c,且至少一个
abc
abbc

4."."匹配除了换行符以外的任何的字符

5."{}"字符频度限定
正则表达式Regex_第1张图片

"ab{2,4}c"
ac----匹配失败,a和c中间必须要有c,且必须有2~4个
abc----匹配失败,a和c中间必须要有c,且必须有2~4个
abbc
"ab{3}c"
ac----匹配失败,a和c中间必须要有c,且必须3个
abbc----匹配失败,a和c中间必须要有c,且必须有3个
abbbc

6."()"内的字符视为一个整体去匹配

"(ab)+c"----------------ab视为一个整个,至少有1个ab,而后接c
abc----
ababc
abbbc-----匹配失败,"ab"要么接ab,要么接c

7."|"匹配符号左右任一字符

"a (cat|dog)"----------a后必须接空格,空格后必须接cat/dog之一
a cat
a dog
a bird-----匹配失败

8."[]"要匹配的字符只能取自[]之内

"[abc]+"--------任意的字符串,不要求连续,只要a,b,c都至少存在一次就匹配成功
abc
aabbcc
aabb-----匹配失败
"[a-z]"------匹配所有的小写英文字符
"[a-zA-Z]"------匹配所有的大写和小写英文字符
"[a-zA-Z0-9]"------匹配所有的大写和小写英文字符和数字

9.“^”和“[]”搭配使用,表示匹配排除了”[]"中的字符后剩余的所有字符
正则表达式Regex_第2张图片
换行符也是符.
10."^“不与”[]"搭配使用,


通配符

元字符大多以反斜杠开头。
1.“\d”=“[0-9]”
2."\w"匹配所有的单词,数字,下划线

你可能感兴趣的:(bug,正则表达式)