正则表达式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."{}"字符频度限定
在这里插入图片描述

"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."\”转义字符必须成对出现

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

通配符

在这里插入图片描述

相关推荐

  1. 表达式 regex

    2024-01-10 16:48:02       58 阅读
  2. 通配符&&表达式(RegEXP)

    2024-01-10 16:48:02       30 阅读
  3. [编程相关]表达式Regex语法

    2024-01-10 16:48:02       47 阅读
  4. 脚本语言 汇总-表达式regexp

    2024-01-10 16:48:02       52 阅读
  5. 前端系列:表达式RegExp详解

    2024-01-10 16:48:02       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-10 16:48:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-10 16:48:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-10 16:48:02       82 阅读
  4. Python语言-面向对象

    2024-01-10 16:48:02       91 阅读

热门阅读

  1. es6 定义变量 let 跟cosnt 区别

    2024-01-10 16:48:02       57 阅读
  2. .netcore 6 ioc注入的三种方式

    2024-01-10 16:48:02       51 阅读
  3. MinIO (五) .net core实现分片上传

    2024-01-10 16:48:02       40 阅读
  4. Hadoop之mapreduce参数大全-2

    2024-01-10 16:48:02       43 阅读
  5. Spring Boot 中自定义中文校验注解的实现

    2024-01-10 16:48:02       64 阅读
  6. K8S---kubectl edit命令

    2024-01-10 16:48:02       55 阅读
  7. 【2023】ArrayList和LinkedList详解介绍对比

    2024-01-10 16:48:02       60 阅读
  8. for循环延时时间计算

    2024-01-10 16:48:02       53 阅读