1,什么是正则表达式

正则表达式是用来处理字符串的,其实正则表达式是非常复杂的,专门去系统学习需要花很长的时间,我们课程主要就是把常用的基础的给大家讲解。
正则表达式可以用来干什么:
(1),匹配字符串:比如用户在数据框中输入了一个数据,我们要来检测这个数据是不是纯数字,是不是邮箱或者是不是电话号码。
(2),用来进行替换操作:比如我们有一篇文章,突然领导觉得里面暴露了很多用户的电话号码,不安全,要求我们把所有电话号码都替换成*号表示。
(3),提取信息,比如,我们在抓取到了很多商品的信息,我们要把这些商品信息的价格都提取出来保存。
 

2,如果判断正则表达式是否匹配

String类提供了一个boolean matches(String regex): 判断该宇符串是否匹配指定的正则表达式。
System.out.println("Hello49032432".matches("H\\w{4}\\d+")); //true

3, 匹配纯文本

严格匹配

        System.out.println("China".matches("China")); //true

3, 点.匹配除换行符\n之外的任何单字符

        System.out.println("A".matches("."));//true
System.out.println("\n".matches("."));//false
System.out.println("AA".matches("."));//false
System.out.println("AA".matches(".A"));//true
//要匹配.字符本身,请使用\.
System.out.println(".".matches("\\."));//true

4,匹配字符出现了n次,n包含0次,1次和多次

格式: 字符{次数}
//匹配出现n次
System.out.println("aaaaaaa".matches("a{7}"));//true
System.out.println("aaaaaaa".matches(".{7}"));//true
{7}表示前面的字符出现了7次,但是像一个问题,如果我们就是要匹配.或者是{
        //匹配.{本身
System.out.println("aaa{{{...".matches("a{3}\\{{3}.{3}"));//true

5,匹配字符出现了n次以上

//匹配N次以上
System.out.println("aaaaa".matches("a{3,}"));//true

6,匹配出现了m到n次之间{m,n}

        //匹配3(含)到5(含)次之间
System.out.println("aaa".matches("a{3,5}"));//true

7,匹配0到N次

星号:*

//匹配0次至多次
System.out.println("".matches("a*"));//true

8,匹配1次到多次

字符+

        //匹配1到多次
System.out.println("a".matches("a+"));//true

9,匹配出现了0次或者1次?

问号:?

        //匹配0或1次
System.out.println("".matches("a?")); //true
System.out.println("a".matches("a?")); //true
System.out.println("aa".matches("a?")); //false

10,匹配数字\d 非数字\D

        //匹配数字
System.out.println("a34567".matches("a\\d+"));
//匹配非数字
System.out.println("a34567".matches("\\D\\d+"));

11,匹配所有的空白字符,包括空格、制表符、回车符、换页符、换行符等\s

        //匹配空白字符。包括空格、制表符、回车符、换页符、换行符等\s
System.out.println(("abc \n012").matches("\\D{3}\\s+\\d{3}")); //true

12,匹配所有非空白字符\s

        //匹配所有的非空白字符\S
System.out.println(("abc \n012").matches("\\S+\\s+\\S+")); //true

13,匹配所有的单词字符,包括 有数字、26英文字母和下划线\w

        //匹配任意数字字母下划线
System.out.println("123fdafadsHKJHK___".matches("\\w+"));//true
System.out.println("fdsafds...~~~".matches("\\w+.+~+"));//true

14,匹配所有的非单词字符\W

        //匹配非单词字符
System.out.println("%%%&&**((^^%$##@@!!---+++=== \n\n".matches("\\W+"));//true
System.out.println("台湾人是中国人".matches("\\W+"));//true

15,匹配括号内任意一个字符[abcd] ;abcd为或者关系

        //匹配[]内任意一个字符
System.out.println("a".matches("[abdc]"));//true

16, 范围匹配[a-z],[A-Z],[0-9]

 //匹配范围单个字符
System.out.println("dfafjiewjhrlhjl4354356434ABC".matches("[a-z0-9A-Z]+")); //true

17,匹配不在范围单个字符[^a-z],[^0-9]

        //匹配不在范围[^a-z],[^0-9]
System.out.println("A".matches("[^a-z]")); //true

18,匹配同时计算

        //匹配同时计算
System.out.println("a".matches("[a-z&&[def]]")); //false
System.out.println("e".matches("[a-z&&[def]]")); //true

19,二选一运算| 或者

        //或者关系
System.out.println("112312".matches("[a-z] |\\d+")); //true

20,边界匹配,以什么开头^,以什么结尾$

        //边界匹配,以什么开头^,以什么结尾$
System.out.println("helloiuowjklkdshku49239784093280end".matches("^he[a-z0-9]+end$")); //true

java 数据类型String 【正则表达式】匹配的更多相关文章

  1. java 数据类型String 【正则表达式】匹配工具 Pattern和Matcher

    Pattern和Matcher的介绍: Pattern对象是正则表达式编译后在内存中的表示形式,因此正则表达式宇符串必须先被编译为Pattern对象,然后再用该Pattern对象创建对应的Matche ...

  2. java中使用正则表达式匹配字符串

    在Java中使用正则表达式去匹配相应的字符串: String importFileRole = "(import)\\s*[a-zA-Z0-9_<>.]+\\;";// ...

  3. Java算法练习——正则表达式匹配

    题目链接 题目描述 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配,是要 ...

  4. Java中输出正则表达式匹配到的内容

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class A { public static void ...

  5. java 中 正则 正则表达式 匹配 url

    不多说 [http|https]+[://]+[0-9A-Za-z:/[-]_#[?][=][.][&]]* 这个就是匹配 网络上的网址 又称 url . 最起码 绝大部分的taobao ur ...

  6. java 从String中匹配数字,并提取数字

    方法如下: private List<FieldList> GetTmpFieldsList(List<String> FieldsList,String tmptableNa ...

  7. 正则表达式匹配${key}并在Java中使用

    1.正则表达式匹配${key} \$\{([a-z]+)\} 能够匹配字符串中以${key}形式的文本(其中key为小写应为字母) .*\$\{([a-z]+)\}.* 可以用来检测文本中是否有${k ...

  8. 详解Java API之正则表达式

    正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是我们所需的.在正则表达式中,主要有两种字符,一种描述的是普通的字符,另一种描述的是元字符.其中元字符是整个正则表达式的核 ...

  9. Java正则表达式匹配例子

    Java正则表达式匹配例子 package com.ibm.test; import java.util.regex.Matcher; import java.util.regex.Pattern; ...

随机推荐

  1. 洛谷 P4099 - [HEOI2013]SAO(树形 dp)

    题面传送门 题意: 有一个有向图 \(G\),其基图是一棵树 求它拓扑序的个数 \(\bmod (10^9+7)\) \(n \in [1,1000]\) 如果你按照拓扑排序的方法来做,那恐怕你已经想 ...

  2. Codeforces 796E - Exam Cheating(dp)

    Codeforces 题目传送门 & 洛谷题目传送门 当被数据结构搞自闭的 tzc 信心满满地点开一道 *2400 的 dp 题时-- 却发现自己不会做?! 这足以证明蒟蒻 dp 之菜/dk/ ...

  3. CF605E Intergalaxy Trips

    CF605E Intergalaxy Trips 考虑你是不知道后来的边的出现情况的,所以可以这样做:每天你都选择一些点进行观察,知道某天往这些点里面的某条边可用了,你就往这条边走.这样贪心总是对的. ...

  4. Atom编辑器速查

    简介 Atom 是 Github 开源的文本编辑器,相当于半个IDE.其特点如下: (1)免费开源,多平台支持(Windows.Mac.Linux): (2)界面美观.现代化,使用舒适: (3)多文件 ...

  5. Golang知识点整理

    1. Golang 1.1 golang知识点大纲 1.2 指针 1.3 Golang使用validator进行数据校验及自定义翻译器 1.4 Golang GC(垃圾回收机制) 2.框架 2.1 G ...

  6. LightningChart JS v.3.3.0全新版本现已发布!

    LightningChart JS v.3.3.0已经发布啦!!! 欢迎了解更多关于最新的性能改进.新的用户界面功能和新的图表类型的信息! WebGL兼容性和新的UI功能 WebGL是Lightnin ...

  7. C/C++ Qt StringListModel 字符串列表映射组件

    StringListModel 字符串列表映射组件,该组件用于处理字符串与列表框组件中数据的转换,通常该组件会配合ListView组件一起使用,例如将ListView组件与Model模型绑定,当Lis ...

  8. 巩固javaweb第九天

    巩固内容: HTML <base> 元素 <base> 标签描述了基本的链接地址/链接目标,该标签作为HTML文档中所有的链接标签的默认链接: <head> < ...

  9. A Child's History of England.37

    Many other noblemen repeating and supporting this when it was once uttered, Stephen and young Planta ...

  10. 02-爬取http://www.allitebooks.org/网站,获取图片url,书名,简介,作者

    import requests from lxml import etree from bs4 import BeautifulSoup import json class BookSpider(ob ...