Java中正则表达式 .* 的含义讲解

 更新时间:2023年05月25日 10:49:27   作者:ThinkStu  
这篇文章主要介绍了Java中正则表达式 .* 的含义,通过举例说明了正则表达式*,+,?的区别,本文给大家讲解的非常详细,需要的朋友可以参考下

Java中正则表达式 .* 的含义

两者的概念并不冲突

一、前置概念

  • .:匹配1个字符,不包括0个。
  • *:限定前面的符号匹配 0 次到无穷次。*号是限定符,起限定前面值的作用,不能单独使用,前面必须要有其他值,如"abc".matches("*");会报错,原因是*号不能单独使用。

二、.*的含义

  • 首先,.代表匹配1个字符;*是限定符,表示限定前面的值匹配 0 次或多次。
  • 然后,当*号作用于前面的.号时,就相当于*号把.重复了 0 次或无穷次。
  • 所以.*的含义为:可以匹配长度任意的字符串(包括 0 个)。

java正则表达式中.*代表什么意思

后边多一个?表示懒惰模式。

必须跟在*或者+后边用

如:<img src="test.jpg" width="60px" height="80px"/>

如果用正则匹配src中内容非懒惰模式匹配

src=".*"

匹配结果是:src="test.jpg" width="60px" height="80px"

意思是从="往后匹配,直到最后一个"匹配结束

懒惰模式正则:

src=".*?"

结果:src="test.jpg"

因为匹配到第一个"就结束了一次匹配。不会继续向后匹配。因为他懒惰嘛。

.表示除\n之外的任意字符

*表示匹配0-无穷

+表示匹配1-无穷

正则表达式*,+,?的区别,举例说明

一、*表示匹配前面的字符0个或多个

二、+表示前面的字符1个或多个

PS:表示只能是多个数字,只能是多个整数,只能是多个字母,一般用*,当然+也可以,但有时候会出错

三、?表示放在其他字符后面表示前面的字符可以有,也可以没有,或者放在*、+后面表示匹配尽可能少的字符

例如:字符串fooooo,正则来fo*和fo+会匹配整个字符串,

fo+? 匹配fo,

fo*? 匹配f

上面这个例子就可以让你理解+,*的区别

到此这篇关于Java中正则表达式 .* 的含义的文章就介绍到这了,更多相关java正则表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • RocketMQ源码分析之Broker过期消息清理机制

    RocketMQ源码分析之Broker过期消息清理机制

    这篇文章主要为大家介绍了RocketMQ源码分析之Broker过期消息清理机制示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • springboot 多环境配置教程

    springboot 多环境配置教程

    这篇文章主要介绍了springboot 常用配置之多环境配置,需要的朋友可以参考下
    2018-04-04
  • java中的前++和后++的区别示例代码详解

    java中的前++和后++的区别示例代码详解

    这篇文章主要介绍了java中的前++和后++的区别示例代码详解,其实大家只要记住一句话就可以了,前++是先自加再使用而后++是先使用再自加,本文通过代码给大家详细解说,感兴趣的朋友跟随小编一起看看吧
    2020-06-06
  • Spring Boot 优雅停机原理详解

    Spring Boot 优雅停机原理详解

    这篇文章主要为大家介绍了Spring Boot 优雅停机原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Spring Security 框架最佳实践

    Spring Security 框架最佳实践

    Spring Security 是一个功能强大、高度可定制的身份验证(Authentication)和访问控制(Authorization)框架,是保护基于 Spring 的应用的事实标准,本文给大家介绍Spring Security框架最佳实践,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • Java实现银行账户管理子系统

    Java实现银行账户管理子系统

    这篇文章主要为大家详细介绍了Java实现银行账户管理子系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • mybatis自动生成@Table、@Column、@Id注解的方法

    mybatis自动生成@Table、@Column、@Id注解的方法

    这篇文章主要介绍了mybatis自动生成@Table、@Column、@Id注解的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • IDEA设置生成带注释的getter和setter的图文教程

    IDEA设置生成带注释的getter和setter的图文教程

    通常我们用idea默认生成的getter和setter方法是不带注释的,当然,我们同样可以设置idea像MyEclipse一样生成带有Javadoc的模板,具体设置方法,大家参考下本文
    2018-05-05
  • Java多线程并发Unsafe与CAS的用法解读

    Java多线程并发Unsafe与CAS的用法解读

    这篇文章主要介绍了Java多线程并发Unsafe与CAS的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • 通Java接口上传实现SMMS图床

    通Java接口上传实现SMMS图床

    这篇文章主要介绍了通Java接口上传实现SMMS图床,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07

最新评论