本文介绍了Java正则表达式供小白编程爱好者借鉴,因为我也是学习者,这是我的一点学习经验和心得,如有错误,请指出。废话不多说,开始步入正题。(ps:创作不易,有喜欢的小伙伴请点赞支持,谢谢啦!)

Regex

  • 一、语法格式(常用)
  • 二、功能
  • 三、匹配方式
  • 四、分组

一、语法格式(常用)

在Java中:使用“ ”
在js中: 使用/ /

1. 字符:

类型 注释
x 字符x,列如‘a’,表达是字符a
\\ 反斜杠字符,用转义字符\修饰
\n 换行
\r 回车符

2. 字符类:

类型 注释
[abc] 表示abc中任意单个字符
[^abc] 表示除了abc中任意单个字符
^[abc] 表示abc中任意单个字符开头
[a-zA-Z] 表示a到z,A到Z中任意单个字符
[0-9] 表示0-9中任意单个数字

3. 边界适配器

类型 注释
^ 开头
$ 结尾
\b 单词边界

4. 预定义的字符类

类型 注释
. 除了换行符以外的单个字符
\d 数字[0-9]
\D 非数字[0-9]
\s 空白字符
\S 非空白字符
\w 数字字母下划线[0-9a-zA-Z_]
\W 非数字字母下划线[^\w]

5. 数量词

类型 注释
x? 表示x可以出现一次或一次也没有
x+ 表示x至少出现一次
x* 表示x可以出现零次或多次
x{n} 表示x可以可以出现n次
x{n,} 表示x至少出现n次
x{n,m} 表示x至少出现n次,但不超过m次

二、功能

1. 判断功能

" ".matches(regex);

2. 分割功能

.split(regex);

3. 替换功能

.replace(regex,E);//这里E为替换元素

4. 获取功能

//Pattern与Matcher类的使用

三、匹配方式

三种匹配方式:

方式一:

bollean mc = "a".matcher(regex);//a为字符串

.
方式二:

 boolean mc = Pattern.matcher(regex,"a");//a为字符串

.
方式三:

 Pattern a = Pattern.compile(regex);//将正则表达式编译到模式当中     Matcher mc = a.matcher(a);//创建适配器bollean Mc = mc.mattches();

四、分组

   public static void main(String[] args) {String s = "2021-01-06";Pattern p = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})");Matcher matcher = p.matcher(s);
//      使用find方法来匹配if(matcher.find()){//      matcher.group() 返回的是整个串的数据System.out.println(matcher.group());//2021-01-06// 分组:通过索引来获取第几组,索引为从左往右数第几个 (  System.out.println(matcher.group(0));//2021-01-06System.out.println(matcher.group(1));//2021System.out.println(matcher.group(2));//01System.out.println(matcher.group(3));//06}}
}

以上是通过索引来查找,我们还可以通过去对应的字段来查找:

public static void main(String[] args) {String s = "2021-01-06";Pattern p = Pattern.compile("(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})");Matcher matcher = p.matcher(s);
//      使用find方法来匹配if(matcher.find()){//      matcher.group() 返回的是整个串的数据System.out.println(matcher.group());//2021-01-06// 分组:通过分组别名获取对应字段数据值System.out.println(matcher.group("year"));//2021System.out.println(matcher.group("month"));//01System.out.println(matcher.group("day"));//06} }
}

好了,以上就是关于正则表达式的大致介绍,同学们快动手敲起代码来吧!!

正则表达式(Regex)规范及运用相关推荐

  1. Java中的正则表达式 regex

    常用类解析:正则表达式 regex 前言 一.正则表达式 二.匹配规则 三.匹配任意字符 四.匹配数字 五.匹配常用字符 六.匹配空格字符 七.匹配非数字 八.重复匹配 九.正则表达式小总结 十.匹配 ...

  2. python正则表达regex_Python 正则表达式(RegEx)

    版权所有,未经许可,禁止转载 正则表达式是组成搜索模式的字符序列. 正则表达式用于按指定的搜索模式搜索字符串. 正则表达式(RegEx)模块 Python有一个名为re的内置包,用来处理正则表达式. ...

  3. c++ regex 替换汉字_C++ - 正则表达式(regex) 替换(replace) 的 详解 及 代码

    正则表达式(regex) 替换(replace) 的 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/1732163 ...

  4. c#中regex的命名空间_C#_详解C#正则表达式Regex常用匹配,使用Regex类需要引用命名空间 - phpStudy...

    详解C#正则表达式Regex常用匹配 使用Regex类需要引用命名空间:using System.Text.RegularExpressions; 一.利用Regex类实现验证 示例1:注释的代码所起 ...

  5. C# 正则表达式 Regex类的使用

    1.检验数字的表达式 //数字Regex reg = new Regex(@"^[0-9]*$");//n位的数字Regex reg = new Regex(@"^\d{ ...

  6. Python零基础速成班-第13讲-Python正则表达式Regex

    Python零基础速成班-第13讲-Python正则表达式Regex 学习目标 正则表达式 课后作业(4必做) 友情提示:将下文中代码拷贝到JupyterNotebook中直接执行即可,部分代码需要连 ...

  7. python正则表达式——regex模块

    目录 1. 为了与re模块兼容,此模块具有2个行为 2. Unicode中不区分大小写的匹配:Case-insensitive matches 3. Flags 4. 组 5. 其他功能,如下表 参考 ...

  8. (四)boost库之正则表达式regex

    正则表达式可以为我们带来极大的方便,有了它,再也不用为此烦恼 头文件: #include <boost/regex.hpp> 1.完全匹配 std::string str("ab ...

  9. C语言正则表达式regex

    From: http://hi.baidu.com/david_jlu/blog/item/87ada1dbb9af6a60d0164eda.html 正则表达式在linux下应用非常广泛,经常使用s ...

  10. Boost学习之正则表达式--regex

    来源:http://blog.chinaunix.net/uid-21222282-id-1829265.html 来源:http://www.cnblogs.com/undermoon/archiv ...

最新文章

  1. matlab利用数据求公式,matlab新手,求帮助!主要是如何将数据和公式导入
  2. TA 们放肆摇晃的青春尾巴
  3. Item 16: 让const成员函数做到线程安全
  4. 为什么我不建议你买保险?
  5. 基于AppDomain的插件式开发
  6. linux驱动 cdev,inode结构体
  7. 活动预告丨openGauss西安Meetup来啦!本周五见!
  8. 什么是线索评分?如何让线索评分发挥作用?
  9. 快速学懂pandas
  10. win10不能访问服务器共享文件夹权限,win10系统共享文件夹无法访问的解决方法...
  11. 论.NET反射、委托与模式关系 zt- -
  12. 芒格:如何面对投资中的巨大回撤?
  13. C# 访问MongoDB 通用方法类
  14. iOS面试题(多线程篇)
  15. 为什么手机打电话的时候不能同时上网?
  16. 前端最常用的移动App开发方式及技术栈详解
  17. Qt控件之toggle()、triggered()、clicked()——triggered发射信号无响应
  18. 怎么查询oracle归档模式,查看oracle数据库归档模式
  19. USB 4(USB 4.0)的设计规范(原版)
  20. 纸质签名转变为电子签名

热门文章

  1. php项目怎么配置admin,PHPadmin配置
  2. 【Hackintosh】完善篇之添加节能5项与添加SMBU/SBUS
  3. 白话机器学习-Encoder-Decoder框架
  4. 基于Springboot的Java项目--新冠疫情统计系统
  5. Win10下安装Ubuntu双系统Ubuntu分区
  6. 大话主流分布式文件系统!
  7. html关于图片缓慢放大
  8. Java实现简单注册登录等功能
  9. FA-PEG-NHS 叶酸PEG活性酯
  10. 疯狂动物城简介第一台通用计算机,疯狂动物城 简介