ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-08-12 第二组刘禹彤 学习笔记

2022-08-12 17:02:22  阅读:167  来源: 互联网

标签:regex 12 String 08 zA _- 刘禹彤 str Z0


打卡31天

 

 

###学习内容

正则表达式

  • 从一个文章中找到所有邮箱,判断手机号是否合法,远征各种数据的格式是否合法

         又叫做规则表达式(Regular Expression Regex

          判断字符串,核心功能处理文本

          正则表达式不局限于某一种语言

  • 元字符

构建正则表达式

              .:除了换行符之外的任意字符

              \w:匹配子符或者数字或者下划线

              \s:空格

              \d:匹配数字

              \b:匹配单词的开始或结束

               ^:匹配字符串的开始或结束

               $:匹配字符串的结束

匹配8位QQ号:^\d\d\d\d\d\d\d\d$

匹配手机号:^1\d\d\d\d\d\d\d\d\d\d$

  • 重复限定符

                *:重复零次或更多次

                +:重复一次或更多次

                ?:重复零次或一次

               {n}:重复n次

               {n, }:重复n次或更多次

              {n,m}:重复n次到m次

银行卡号14位到18位:^\d{14,18}$

匹配以a开头,0个或多个b结尾:^ab*&

  • 分组

        限定符的作用与它相邻的最左边的一个字符起作用,那么问题来了

        如果想要ab都被限定------正则表达式中用小括号分组,括号内会称为一个整体-----^(ab)*$

  • 转义

          匹配字符串中包含0到多个(ab)开头:^((\ab\))*

  • 单或 |

              ^(130|132|136|134|135)\d{8}$

  • 区间

正则表达式提供了一个中括号[]来表示区间

              0~9:[0-9]

              a~z:[a-z]

             限定某些数字:[130]

^((13[0-2])|(18[5-6]))\d{8}$

  • 反义

              \W:不是数字、字母、下划线

               \S:不是空格

               \D:不是数字

               \B:不是单词开头或结束

              [^x]:除了x以外的任意字符

              [^vbbn]:除了。。。

  • 常见正则表达式

                匹配中文的字符:[],匹配的是ASCII码

邮箱fdfg-@ddsdnj------^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

中国内地电话0431-81254652  010-81235689----^\d{3,4}-\d{8}$

身份证号

  • 转义字符

 打印\不行。要打印两个,第一个是转义字符,打印每一个都要新加\

           Pattern类

           Matcher类

          PatternSyntaxException类

 

###学习心得

JAVASE的学习已经进入了尾声,整体下来感觉内容很多,环环相扣,需要几天来进行消化理解

###掌握情况:一般

###课上练习

import org.junit.Test;

import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

/**
 * Pattern类
 * Matcher类
 * PatternSyntaxException类
 */
public class Ch02 {

    @Test
    public void test06() {
        String regex = "[-_]";
        String str = "123-4756_qweqwe-7987_465";
        String[] split = str.split(regex);
        System.out.println(Arrays.toString(split));
    }

    @Test
    public void test05(){
        String regex = "\\d";
        String str = "1111c2222d456456456f465gh987897";

        String s = str.replaceAll(regex, "@");
        System.out.println(s);
    }

    @Test
    public void test04() {
        String regex = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
        String email = "175367745@qq.com";
        System.out.println(email.matches(regex));
    }

    @Test
    public void test03() {
        String regex = "a";
        String str = "cat cat dog dog cat";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(str);

        // 统计cat在字符串中出现的次数
        int count = 0;
        System.out.println(matcher.find(str.length() - 1));
        while(matcher.find()){
            count++;
        }
        System.out.println("出现了" + count + "次");
    }

    @Test
    public void test02() {
        String regex = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
        String email = "175367745@qq.";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(email);
        System.out.println(matcher.matches());
    }

    @Test
    public void test01() {
        String str = "hello,i am from jilin changchun!";
        // 必须包含jilin
        String pattern = ".*jilina.*";
        boolean b = Pattern.matches(pattern,str);
        System.out.println("字符串中是否包含了jilin:" + b);
    }
}

###运行结果

 

标签:regex,12,String,08,zA,_-,刘禹彤,str,Z0
来源: https://www.cnblogs.com/lyt0612/p/16580630.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有