正则表达式:A:字符x  代表字符x。如 a 标识'a'\\ 反斜杠字符\n 换行符('\u000A')\r 回车符('\u000D')B:字符类[abc] 代表有a 或 b 或 c  有且只有一个字符[^abc] a b c都不是[a-zA-Z] 所有字母中的一个(有一个闭区间范围内的值)[0-9] 0到9之间的一个字符C:预定义子父类.     任意字符\d  数字字符\D  非数字字符\s 空白字符[\t\n\r\x0B]\S  非空白字符[^\s]\w    单词字符[a-zA-Z_0-9](下划线也属于单词字符)\W  非单词字符D:边界匹配器^   开头$ 行为\b    单词边界 (不是单词字符的地方)E:数量词X?   至多一次X*  零次或者多次X+   至少一次X{n}    刚好n次X{n,}   至少n次X{n,m}  n到m次,闭区间正则表达式常见例子判断:     boolean matches(String regex)regex 为正则表达式字符串分割:  String[] split(String regex)替换:  String replaceAll(String regex,String replacement)
——————————————————————————————————————————————————————————————————————————————————————————————————————package demo;import java.util.Scanner;public class demo1 {public static void main(String[] args) {//      System.out.println(judgeCellnumber());System.out.println(emailCheck());}//实例:判断输入字符是否是一个手机号(11位数字,1开头)public static boolean judgeCellnumber() {boolean flag = false;System.out.println("请输入手机号:");String cellNum = new Scanner(System.in).next();//获取输入的字符串String regex = "[1][3578][0-9]{9}";//手机号的正则表达式//      String regex = "[1]\\d{10}";flag = cellNum.matches(regex);//匹配判断return flag;}public static boolean emailCheck(){boolean flag = false;System.out.println("请输入邮箱:");String cellNum = new Scanner(System.in).next();//获取输入的字符串String regex = "(\\w)+@\\w{2,6}(\\.\\w{2,3})+";//正则表达式//        String regex = "[1]\\d{10}";flag = cellNum.matches(regex);//匹配判断return flag;}//判断邮箱功能}
——————————————————————————————————————————————————————————————————————————————————————————————————//获取字符串中只有3个字母的单词package demo;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test2 {public static void main(String[] args) {String str = "wo shi huang yha ning,ni hao la,haha hah";//正则表达式原始String regex = "\\b\\w{3}\\b";//将正则表达式编译到模式中Pattern p =  Pattern.compile(regex);Matcher m = p.matcher(str);//模式的匹配过滤器//      boolean b = m.matches();//     System.out.println(b);System.out.println(p.pattern());//返回此编译模式的正则表达式//     System.out.println("find匹配的字符:"+m.find());//      System.out.println(m.group());//        //      System.out.println("find匹配的字符:"+m.find());//      System.out.println(m.group());boolean b = false;while(b=m.find()){System.out.println("find匹配的结果:"+b);System.out.println(m.start());//返回前一个find的匹配的初始索引System.out.println(m.end());//返回最后匹配字符之后的偏移量System.out.println("偏移量截到的字符串:"+str.subSequence(m.start(), m.end()));System.out.println("group获取的字符串:"+m.group());}}}输出结果\b\w{3}\bfind匹配的结果:true36偏移量截到的字符串:shigroup获取的字符串:shifind匹配的结果:true1316偏移量截到的字符串:yhagroup获取的字符串:yhafind匹配的结果:true2528偏移量截到的字符串:haogroup获取的字符串:haofind匹配的结果:true3740偏移量截到的字符串:hahgroup获取的字符串:hah
————————————————————————————————————————————————————————————————————————————————————————————————————————————//我我我......我爱爱爱...爱学..学.....编编程.....//转为  我爱学编程public class Test11 {public static void main(String[] args) {String str = "我我我......我爱爱爱...爱学..学.....编编程.....";//将.替换成空字符str = str.replaceAll("\\.", "");System.out.println(str);//去除叠词str = str.replaceAll("(.)\\1+","$1");System.out.println(str);str = "abcabcaaabcaaaabbccabc";str = str.replaceAll("(abc(aa))\\1", "*");System.out.println(str);}}输出结果:我我我我爱爱爱爱学学编编程我爱学编程abc*aabbccabc

java 之 正则表达式相关推荐

  1. java正则截取xml节点_实例讲述Java使用正则表达式截取重复出现的XML字符串功能...

    Java使用正则表达式截取重复出现的XML字符串功能示例 本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能.分享给大家供大家参考,具体如下: public static void m ...

  2. java 自定义正则表达式_java中正则表达式实例详解

    Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * ...

  3. java match正则不生效_[Java教程]正则表达式match()函数

    [Java教程]正则表达式match()函数 0 2015-09-26 12:00:31 正则表达式match()函数: 此方法可在字符串内查找一个或多个正则表达式的匹配. 返回值是一个数组,但是此数 ...

  4. java编写正则表达式_如何用Java编写最快的表达式评估器之一

    java编写正则表达式 当然,标题有点吸引人,但确实如此(您当然不相信自己没有伪造自己的基准,但这是另一回事了). 因此,上周我正在寻找一个小型且可用的库来评估数学表达式. 我几乎直接偶然发现了这个s ...

  5. Java总结:正则表达式进行校验

    Java总结:正则表达式进行校验 目录 Java总结:正则表达式进行校验 一.校验数字的表达式 二.校验字符的表达式 了解理论知识,请点击:Java总结:正则表达式 一.校验数字的表达式 1 数字:^ ...

  6. Java总结:正则表达式

    目录 Java 正则表达式 正则表达式实例 实例 捕获组 实例 RegexMatches.java 文件代码: 正则表达式语法 Matcher 类的方法 索引方法 研究方法 替换方法 start 和 ...

  7. Java与正则表达式

    Java与正则表达式 标签: Java基础 正则 正如正则的名字所显示的是描述了一个规则, 通过这个规则去匹配字符串. 学习正则就是学习正则表达式的语法规则 正则语法 普通字符 字母, 数字, 汉字, ...

  8. java常见正则表达式用法

    java常见正则表达式用法 例1: 判断整个字符串是否只有大小写字母和数字 String str = "ABCaaa123GG";String reg = "^[A-Za ...

  9. JAVA:正则表达式(入门)

    JAVA:正则表达式(入门) 正则表达式 JAVA:正则表达式(入门) 前言 正则的作用 正则的符号含义 正则表达式在字符串中的常用方法 正则表达式对象Pattern(爬虫) 贪婪爬取与非贪婪爬取 捕 ...

  10. 1000行代码徒手写正则表达式引擎【1】--JAVA中正则表达式的使用

    简介: 本文是系列博客的第一篇,主要讲解和分析正则表达式规则以及JAVA中原生正则表达式引擎的使用.在后续的文章中会涉及基于NFA的正则表达式引擎内部的工作原理,并在此基础上用1000行左右的JAVA ...

最新文章

  1. 深入理解 Spring Cloud 核心组件与底层原理!
  2. Weblogic IIOP反序列化漏洞(CVE-2020-2551) 漏洞分析
  3. Android图片资源获取原则
  4. 迟到两年,Lu1与Cee合作的经典单曲《自己做决定》终于发布MV了!
  5. 7.01面试长沙黄花机场
  6. 《The Last Night》美术分析
  7. tomcat错误:The page you tried to access (/manager/login.do) does not exist
  8. c盘扩展卷功能只能向右扩展_信用风险管理:功能扩展和选择
  9. jQuery的.live()和.die()
  10. Java ObjectOutputStream flush()方法与示例
  11. java 判断两个数是否异号
  12. mysql连接方式左联_数据库中的左连接(left join)和右连接(right join)区别 | 改变自己...
  13. C# 人民币大小写转换正则表达式
  14. JVM 第五节:JVM 性能优化(上)
  15. Spring IOC源码分析
  16. 笔记本计算机涂硅脂,笔记本cpu怎么更换散热硅脂?笔记本电脑cpu涂硅脂教程
  17. 机器学习入门,转载博文,转自 飞鸟各投林
  18. 计算机有网络但打不开网页,手把手教你有网络但是打不开网页怎么办?
  19. ios -生成推广海报
  20. 如何按照DocNum+LineNum+流水号生成批次号

热门文章

  1. web前端面试题集锦三
  2. Web页面中png jpg gif webp svg的区别和使用
  3. JavaScript事件监听
  4. 想学大数据?大数据处理的开源框架推荐
  5. oracle-一些查看性能相关的视图
  6. 安装 Docker 一
  7. springboot(二):web综合开发
  8. Effective Python 小笔记之 zip 函数
  9. hadoop之MapReduce自定义二次排序流程实例详解
  10. iOS App 升级时文件的保留情况