java中正则的使用与懒惰匹配和贪婪匹配

本文介绍了Java正则表达式的基础,重点讲解了懒惰匹配和贪婪匹配的区别。懒惰匹配在处理JSON字符串时尤其重要,以避免误匹配。错误示例展示了贪婪匹配会匹配所有可能的字符,而正确示例则演示了如何使用.*?进行懒惰匹配,确保只匹配一次。
摘要由CSDN通过智能技术生成

java中正则表达式的使用与懒惰匹配和贪婪匹配

java正则表达式基础

正则表达式用来匹配特定字符串,对于需要替换掉特定字符中的特定字符串如html标签,需要注意正则表达式的懒惰匹配和贪婪匹配,懒惰匹配匹配第一个不影响后续匹配,贪婪匹配配匹所有符合的结果。

基本用法

  • 中括号[]

    • 用来匹配中括号的单个字符,如a[hjkl]c可匹配 ahc,ajc,akc,alc,注意只匹配单个字符,不可匹配ahjc等。
  • 英文点符号 '.'

    • 用来匹配任意单个字符,如a.b,可匹配a1b,a#b等单个字符。
  • 或符号 |

    • 相当于或,a[b|cd|e]f ,可匹配 abf,acdf,aef.
  • 匹配次数

    • *: 匹配任意次数。
    • ?:匹配0次或1次
    • +:匹配1次或多从
    • {n}:匹配n次
    • {n,m}:匹配n到m次

懒惰匹配与贪婪匹配

懒惰匹配在代码中非常常用,向需要匹配替换掉json串中的某个属性时,我们就要使用*?来避免贪婪匹配。其主要区别在于贪婪匹配会匹配所有符合条件的,懒惰匹配只匹配一次。下面使用代码来说明
1.首先看错误示例。

public class Main {

    public static void main(String[] args) {
        String jsonstr = "[{\"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值