正则表达式Regex

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

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

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

java 复制代码
 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."{}"字符频度限定

"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."^"和"[]"搭配使用,表示匹配排除了"[]"中的字符后剩余的所有字符

换行符也是符.

10."^"不与"[]"搭配使用时,

11."\"转义字符必须成对出现

"\\."------匹配所有的"."

通配符

相关推荐
chusheng184029 分钟前
Python 正则表达式进阶用法:字符集与字符范围详解
java·python·正则表达式
我爱学习_zwj1 天前
ArkTS的进阶语法-4(函数补充,正则表达式)
前端·华为·正则表达式·harmonyos
平头哥在等你2 天前
Python中的正则表达式教程
python·正则表达式
宋发元2 天前
如何使用正则表达式验证域名
python·mysql·正则表达式
花生的酱3 天前
Shell编程之正则表达式与文本处理器
linux·运维·正则表达式
醒着的睡着的人3 天前
Python---re模块(正则表达式)
python·正则表达式
白萝卜弟弟3 天前
【JAVA】正则表达式中的捕获组和非捕获组
java·正则表达式
chusheng18403 天前
Python 正则表达式进阶用法:量词与范围
python·mysql·正则表达式
Desmend__3 天前
正则表达式那些事儿
数据库·mysql·正则表达式
殷丿grd_志鹏3 天前
Python爬虫知识体系-----正则表达式-----持续更新
爬虫·python·正则表达式