java用正则表达式大全_Java 正则表达式 大全「建议收藏」

java用正则表达式大全_Java 正则表达式 大全「建议收藏」什么是正则表达式?正则表达式的定义:这是一种字符串的语法规则,是一种可以用于模式匹配和替换的规则,主要用于文本和字符串的处理(匹配,查找,替换,判断字符串)。一个正则表达式是由普通的字符(a~z)以及特殊字符(元字符)组成的文字模式,用以描述在查找文字主体时待匹配的一个或多个字符串。下面我们会介绍一些常用的元字符正则表达式的元字符元字符的定义:元字符:元字符使得正则表达式具有处理能力,指的是那些在…

大家好,又见面了,我是你们的朋友全栈君。

什么是正则表达式?

正则表达式的定义:这是一种字符串的语法规则,是一种可以用于模式匹配和替换的规则,主要用于文本和字符串的处理(匹配,查找,替换,判断字符串)。一个正则表达式是由普通的字符(a~z)以及特殊字符(元字符)组成的文字模式,用以描述在查找文字主体时待匹配的一个或多个字符串。下面我们会介绍一些常用的元字符

正则表达式的元字符

元字符的定义:元字符:元字符使得正则表达式具有处理能力,指的是那些在正则表达式中具有特殊意义的专用字符,可以规定其前导字符在目标对象中的出现模式

元字符

在正则表达式中的写法

意义

.

.

任何一个字符

\d

\\d

0-9之间的任意一个数字

\D

\\D

任何一个非数字字符

\s

\\s

空格类字符’\t’,’\n’等等

\S

\\S

非空格类字符

\w

\\w

可用于标识符的字符,不包括美元符

\W

\\W

不能可用于标识符的字符

\p{Lower}

\\p[Lower]

小写字母[a~z]

\p{Upper}

\\p{Upper}

大写字母[A~Z]

\p{ASCII}

\\p{ACSII}

ASCII字符

\p{Alpha}

\\p{Alpha}

字母

\p{digit}

\\p{digit}

数字字符[0~9]

\p{Alnum}

\\p{Alnum}

字母或数字

\p{Punct}

\\p{Punct}

标点符号

\p{graph}

\\p{graph}

可视字符,\p{Alnum},\p{Punct}

\p{Print}

\\p{Print}

可打印字符

\p{Blank}

\\p{Blank}

空格或制表符

\p{Cntrl}

\\p{Cntrl}

控制字符[\x00~\x1F\x7F]

上面的表中,基本上就是一些比较常用的元字符,我们需要注意元字符在正则表达式中的写法,不能直接用元字符来编写我们的正则程序

正则表达式中的方括号[]

元字符可以是放在[]中的任意单个字符(如[a]表示匹配单个小写字符a),也可以是字符序列(如[a-d]表示匹配a-d即a,b,c,d中的任意一个字符,而\w表示任意英文字母、数字及下划线)。例如:regex=”[159]ABC”,那么”1ABC”,”5ABC”,”9ABC”都是与正则表达式regex匹配的字符,方括号的含义如下:

注:方括号内允许嵌套,可以进行交,并,差运算

方括号表达式

含义

[abcde]

匹配a,b,c,d,e中的任意一个字符

[a-h]

匹配a到h之间的任意一个字符

[^fgh]

匹配除f,g,h外的任意一个字符

[a-d[m-p]]

代表a~d,或m~p中的任意一个字符(并)

[a-z&&[def]]

代表d,e或f中的任意一个字符串(交)

[a-z&&[^bc]]

代表a,d,e,f(差)

正则表达式中的限定符

在使用正则表达式时,我们知道元字符一般只能匹配一个位置或一个字符,如果需要某一类型的元字符多次输入,逐个输入,或是要匹配多个字符的时候就相当麻烦,这个时候我们可以使用正则表达式的限定符来重复输入。例如:regex=”hello[246]?”,那么”hello”,”hello2″,”hello4″,”hello6″都是与regex匹配的字符串,下面是一些常见的限定符

带限定符号的模式

含义

X?

X出现0次或1次

X*

X出现0次或多次

X+

X出现1次或多次

X{n}

X出现n次

X{n,}

X至少出现n次

X{n,m}

X至少出现n至m次

XY

X后面跟Y

X|Y

X或Y

然后用法的话相信大家不会陌生吧:

String regex=”自己定义的正则表达式”;

String test=”需要正则的字符串对象”;

boolean isMatch=test.matches(regex);

if(isMatch){

//test为匹配成功的数据

}else{

//test为匹配失败的数据

}

可能有些人会说,我经常用到的正则表达式中有Pattern和Matcher两个类,这两个类是干嘛的呢?

Pattern: 一个Pattern是一个正则表达式经编译后的表现模式。

Matcher: 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。

首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161616.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sql中的convert转换数字_Convert

    sql中的convert转换数字_Convert   一般写程序是用的都是Convert.ToInt32,为什么呢?1.Convert.ToInt是数据类型转换成int类型2.   有三种方法toint16,toint32,toint64   int16-数值范围:-32768到32767   int32-数值范围:-2,147,483,648到2,147,483,647   int64…

    2022年8月15日
    4
  • phpstorm2021.12.13激活【中文破解版】

    (phpstorm2021.12.13激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4D5UJRVIF9-eyJsaWNlbnNlSWQi…

    2022年3月30日
    48
  • 【Consul】Consul实践指导-Watch机制

    【Consul】Consul实践指导-Watch机制Watches是查看指定数据信息的一种方法,比如查看nodes列表、键值对、健康检查。当监控到更新时,可以调用外部处理程序——可以自定义。比如,发现健康状态发生变化可以通知外部系统健康异常。…

    2025年6月18日
    2
  • 数据库sql嵌套查询题_sql子查询嵌套优化

    数据库sql嵌套查询题_sql子查询嵌套优化一、嵌套查询概念在sql语言中,一个select-from-where语句成为一个查询块,将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询成为嵌套查询。外层的查询块称为外层查询或父查询,内层的查询称为内层查询或子查询。注意点:子查询的select语句不能使用orderby子句,orderby只能对最终查询结果排序。嵌套查询分类:1、相关子查询/关联子查询:子查询的查询条件依赖于父查询,比如,如果子查询需要执行多次,即采用循环的方式,先从外部查询开始,每

    2022年8月10日
    6
  • axios实现跨域三种方法_跨域的解决方案

    axios实现跨域三种方法_跨域的解决方案Axios是不允许跨域访问的,别说跨域,跨端口都不行。例如某项目我本地vue前端frontEnd为`localhost:8888`,Java后台backEnd为`localhost:8889`。这个时候就有两个方案了:-修改`frontEnd`前端,支持跨域(通过代理的形式,当然这种是`伪跨域`,但是挺有用,前提是后端不限制即可)。-修改`backEnd`后台,支持跨域(同时限制可跨域名,不在本文讨论范围,且看过往处理方式)。

    2022年9月12日
    3
  • android浏览器插件介绍

    android浏览器插件介绍一浏览器插件介绍:  1.1概述浏览插件本质是一个功能模块,是浏览器功能的一种扩充。其载体是dll或则so文件。它依附浏览器完成某一特定的功能。插件需要实现浏览器规定的一些函数,这些函数叫NPAPI.正是插件实现了这些函数才可以和浏览器交互。同时浏览器也为插件提供一些函数。在android平台下还有一些专有的函数。他们的函数名字都有约定。插件提供的方法以NPP_打头。浏览器提供的方法

    2022年5月14日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号