文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java 正则表达式匹配

2023-10-27 11:13

关注

1 正则表达式

1.1 什么是正则表达式

正则表达式: 定义一个搜索模式的字符串。

正则表达式可以用于搜索、编辑和操作文本。

正则对文本的分析或修改过程为:首先正则表达式应用的是文本字符串(text/string),它会以定义的模式从左到右匹配文本,每个源字符只匹配一次。

1.2 示例

正则表达式匹配
this is text精确匹配字符串 "this is text"
this\s+is\s+text匹配单词 "this" 后跟一个或多个空格字符,后跟词 "is" 后跟一个或多个空格字符,后跟词 "text"
^\d+(\.\d+)?^ 定义模式必须匹配字符串的开始,d+ 匹配一个或多个数字,? 表明小括号内的语句是可选的,\. 匹配 ".",小括号表示分组。例如匹配:"5"、"1.5" 和 "2.21"

2 正则表达式的编写规则

2.1 常见匹配符号

正则表达式描述
.匹配所有单个字符,除了换行符(Linux 中换行是 \n,Windows 中换行是 \r\n
^regex正则必须匹配字符串开头
regex$正则必须匹配字符串结尾
[abc]复选集定义,匹配字母 a 或 b 或 c
[abc][vz]复选集定义,匹配字母 a 或 b 或 c,后面跟着 v 或 z
[^abc]当插入符 ^ 在中括号中以第一个字符开始显示,则表示否定模式。此模式匹配所有字符,除了 a 或 b 或 c
[a-d1-7]范围匹配,匹配字母 a 到 d 和数字从 1 到 7 之间,但不匹配 d1
XZ匹配 X 后直接跟着 Z
X|Z匹配 X 或 Z

2.2 元字符

元字符是一个预定义的字符。

正则表达式描述
\d匹配一个数字,是 [0-9] 的简写
\D匹配一个非数字,是 [^0-9] 的简写
\s匹配一个空格,是 [ \t\n\x0b\r\f] 的简写
\S匹配一个非空格
\w匹配一个单词字符(大小写字母、数字、下划线),是 [a-zA-Z_0-9] 的简写
\W匹配一个非单词字符(除了大小写字母、数字、下划线之外的字符),等同于 [^\w]

2.3 限定符

限定符定义了一个元素可以发生的频率。

正则表达式描述举例
*匹配 >=0 个,是 {0,} 的简写X* 表示匹配零个或多个字母 X,.* 表示匹配任何字符串
+匹配 >=1 个,是 {1,} 的简写X+ 表示匹配一个或多个字母 X
?匹配 1 个或 0 个,是 {0,1} 的简写X? 表示匹配 0 个或 1 个字母 X
{X}只匹配 X 个字符\d{3} 表示匹配 3 个数字,.{10} 表示匹配任何长度是 10 的字符串
{X,Y}匹配 >=X 且 <=Y 个\d{1,4} 表示匹配至少 1 个最多 4 个数字
*?如果 ? 是限定符 * 或 + 或 ? 或 {} 后面的第一个字符,那么表示非贪婪模式(尽可能少的匹配字符),而不是默认的贪婪模式

2.4 分组和反向引用

小括号 () 可以达到对正则表达式进行分组的效果。

模式分组后会在正则表达式中创建反向引用。反向引用会保存匹配模式分组的字符串片断,这使得我们可以获取并使用这个字符串片断。

在以正则表达式替换字符串的语法中,是通过 $ 来引用分组的反向引用,$0 是匹配完整模式的字符串(注意在 JavaScript 中是用 $& 表示);$1 是第一个分组的反向引用;$2 是第二个分组的反向引用,以此类推。

示例:

public class RegexTest {    public static void main(String[] args) {        // 去除单词与 , 和 . 之间的空格        String Str = "Hello , World .";        String pattern = "(\\w)(\\s+)([.,])";        // $0 匹配 `(\w)(\s+)([.,])` 结果为 `o空格,` 和 `d空格.`        // $1 匹配 `(\w)` 结果为 `o` 和 `d`        // $2 匹配 `(\s+)` 结果为 `空格` 和 `空格`        // $3 匹配 `([.,])` 结果为 `,` 和 `.`        System.out.println(Str.replaceAll(pattern, "$1$3")); // Hello, World.    }}

上面的例子中,我们使用了 [.] 来匹配普通字符 . 而不需要使用 [\\.]。因为正则对于 [] 中的 .,会自动处理为 [\.],即普通字符 . 进行匹配。

2.4.1 仅分组但无反向引用

当我们在小括号 () 内的模式开头加入 ?:,那么表示这个模式仅分组,但不创建反向引用。

示例:

import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexTest {    public static void main(String[] args) {        String str = "img.jpg";        // 分组且创建反向引用        Pattern pattern = Pattern.compile("(jpg|png)");        Matcher matcher = pattern.matcher(str);        while (matcher.find()) {            System.out.println(matcher.group());            System.out.println(matcher.group(1));        }    }}

运行结果:

jpg jpg

若源码改为:

import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexTest {    public static void main(String[] args) {        String str = "img.jpg";        // 分组但不创建反向引用        Pattern pattern = Pattern.compile("(?:jpg|png)");        Matcher matcher = pattern.matcher(str);        while (matcher.find()) {            System.out.println(matcher.group());            System.out.println(matcher.group(1));        }    }}

运行结果:

jpgException in thread "main" java.lang.IndexOutOfBoundsException: No group 1    at java.util.regex.Matcher.group(Matcher.java:538)    at com.wuxianjiezh.regex.RegexTest.main(RegexTest.java:15)

2.4.2 分组的反向引用副本

Java 中可以在小括号中使用 ? 将小括号中匹配的内容保存为一个名字为 name 的副本。

示例:

import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexTest {    public static void main(String[] args) {        String str = "@wkf 你好啊";        Pattern pattern = Pattern.compile("@(?\\w+\\s)"); // 保存一个副本        Matcher matcher = pattern.matcher(str);        while (matcher.find()) {            System.out.println(matcher.group());            System.out.println(matcher.group(1));            System.out.println(matcher.group("first"));        }    }}

运行结果:

@wkfwkf wkf 

2.5 否定先行断言(Negative lookahead)

我们可以创建否定先行断言模式的匹配,即某个字符串后面不包含另一个字符串的匹配模式。

否定先行断言模式通过 (?!pattern) 定义。比如,我们匹配后面不是跟着 "b" 的 "a":

a(?!b)

2.6 指定正则表达式的模式

可以在正则的开头指定模式修饰符。

2.7 Java 中的反斜杠

反斜杠 \ 在 Java 中表示转义字符,这意味着 \ 在 Java 拥有预定义的含义。

这里例举两个特别重要的用法:

注意:Java 中的正则表达式字符串有两层含义,首先 Java 字符串转义出符合正则表达式语法的字符串,然后再由转义后的正则表达式进行模式匹配。

2.8 易错点示例

3 在字符串中使用正则表达式

3.1 内置的字符串正则处理方法

在 Java 中有四个内置的运行正则表达式的方法,分别是 matches()split())replaceFirst()replaceAll()。注意 replace() 方法不支持正则表达式。

方法描述
s.matches("regex")当仅且当正则匹配整个字符串时返回 true
s.split("regex")按匹配的正则表达式切片字符串
s.replaceFirst("regex", "replacement")替换首次匹配的字符串片段
s.replaceAll("regex", "replacement")替换所有匹配的字符

3.2 代码示例 

public class RegexTest {    public static void main(String[] args) {        System.out.println("wxj".matches("wxj"));        System.out.println("----------");        String[] array = "w x j".split("\\s");        for (String item : array) {            System.out.println(item);        }        System.out.println("----------");        System.out.println("w x j".replaceFirst("\\s", "-"));        System.out.println("----------");        System.out.println("w x j".replaceAll("\\s", "-"));    }}

 运行结果:

true----------wxj----------w-x j----------w-x-j

4 模式和匹配

Java 中使用正则表达式需要用到两个类,分别为 java.util.regex.Pattern 和 java.util.regex.Matcher

第一步,通过正则表达式创建模式对象 Pattern

第二步,通过模式对象 Pattern,根据指定字符串创建匹配对象 Matcher

第三步,通过匹配对象 Matcher,根据正则表达式操作字符串。

来个例子,加深理解:

import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexTest {    public static void main(String[] args) {        String text = "Hello Regex!";        Pattern pattern = Pattern.compile("\\w+");        // Java 中忽略大小写,有两种写法:        // Pattern pattern = Pattern.compile("\\w+", Pattern.CASE_INSENSITIVE);        // Pattern pattern = Pattern.compile("(?i)\\w+"); // 推荐写法        Matcher matcher = pattern.matcher(text);        // 遍例所有匹配的序列        while (matcher.find()) {            System.out.print("Start index: " + matcher.start());            System.out.print(" End index: " + matcher.end() + " ");            System.out.println(matcher.group());        }        // 创建第两个模式,将空格替换为 tab        Pattern replace = Pattern.compile("\\s+");        Matcher matcher2 = replace.matcher(text);        System.out.println(matcher2.replaceAll("\t"));    }}

运行结果:

Start index: 0 End index: 5 HelloStart index: 6 End index: 11 RegexHello    Regex!

5 若干个常用例子

5.1 中文的匹配

[\u4e00-\u9fa5]+ 代表匹配中文字。

import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexTest {    public static void main(String[] args) {        String str = "这是中文";        Pattern pattern = Pattern.compile("[\\u4e00-\\u9fa5]+");        Matcher matcher = pattern.matcher(str);        while (matcher.find()) {            System.out.println(matcher.group());        }    }}

运行结果:

这是中文

5.2 数字范围的匹配

比如,匹配 1990 到 2017。

注意:这里有个新手易范的错误,就是正则 [1990-2017],实际这个正则只匹配 0 或 1 或 2 或 7 或 9 中的任一个字符。

正则表达式匹配数字范围时,首先要确定最大值与最小值,最后写中间值。

正确的匹配方式:

import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexTest {    public static void main(String[] args) {        String str = "1990\n2010\n2017";        // 这里应用了 (?m) 的多行匹配模式,只为方便我们测试输出        // "^1990$|^199[1-9]$|^20[0-1][0-6]$|^2017$" 为判断 1990-2017 正确的正则表达式        Pattern pattern = Pattern.compile("(?m)^1990$|^199[1-9]$|^20[0-1][0-6]$|^2017$");        Matcher matcher = pattern.matcher(str);        while (matcher.find()) {            System.out.println(matcher.group());        }    }}

运行结果:

199020102017

5.3 img 标签的匹配

比如,获取图片文件内容,这里我们考虑了一些不规范的 img 标签写法:

import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexTest {    public static void main(String[] args) {        String str = "" +                "";        // 这里我们考虑了一些不规范的 img 标签写法,比如:空格、引号        Pattern pattern = Pattern.compile("\\w+.(jpg|png))(?:['\"])?\\s*/>");        Matcher matcher = pattern.matcher(str);        while (matcher.find()) {            System.out.println(matcher.group("src"));        }    }}

运行结果:

https://blog.csdn.net/qq_37284798/article/details/aaa.jpgbbb.pngccc.png

5.4 贪婪与非贪婪模式的匹配

比如,获取 div 标签中的文本内容:

import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexTest {    public static void main(String[] args) {        String str = "
文章
发布时间
"; // 贪婪模式 Pattern pattern = Pattern.compile("
(?.+)</div>"); Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.group("title")); } System.out.println("--------------"); // 非贪婪模式 pattern = Pattern.compile("<div>(?<title>.+?)</div>"); matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.group("title")); } }}</code></code></pre> <p>运行结果:</p> <blockquote> <pre><code class="language-php">文章</div><div>发布时间--------------文章发布时间</code></pre> </blockquote> <h2>6 推荐两个在线正则工具</h2> <ul><li>JavaScript、Python 等的在线表达式工具:<a href="https://link.segmentfault.com/?enc=AT3K2gunbCH8qBoy6D3DAA==.4tDMNyO0ZZMl1X7VDgrIipLVKPthV29fCgLb8QiI9dU=" title="https://regex101.com/">https://regex101.com/</a></li><li>Java 在线表达式工具:<a href="https://link.segmentfault.com/?enc=x+CfJMV8kmkIdVrtS/eHJw==.qp6NLQ7zqcZ0Lp9IX1Qx/qveHKOkGg738uVobF1ZI1QBQZIsMMQiu27CstqYPI+MCG8Xef0j25bXzxlDssQ/Gw==" title="http://www.regexplanet.com/advanced/java/index.html">http://www.regexplanet.com/advanced/java/index.html</a></li></ul> <p>来源地址:<a href="https://blog.csdn.net/qq_37284798/article/details/129950910">https://blog.csdn.net/qq_37284798/article/details/129950910</a></p></div><div class="readOriginal"><a href="https://m.528045.com/article/704f5271eb.html" class="original">阅读原文</a><a href="/api/report.php?target=https://m.528045.com/article/704f5271eb.html" class="complain"><span class="artM art_jinggao"></span>内容投诉</a></div><div class="myShow contentBtmshow"><div class="mzsming"><p class="mzsm_title">免责声明:</p><p>① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。 </p><p>② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341</p></div></div><div id="downloader-container" class="page-downloader-container"><div class="page-downloader-tip clear"><h2><span>软考中级</span>精品资料免费领 </h2><ul class="page-downloader-tip-list clear"><li><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAnFBMVEX/ZgD/+fH/1LX/r3n/ij3/izz/4Mn/yKH/l1D/pmn/y6X/17r/k0r/gi3/qW7/nVr/bw7/j0T/jkH/wpf/o2X/8eX/uIf/m1f/bAn/59P/chT/u4v/hTP/3ML/fyj/zan/0a//8OL/tYL/79//zqv/dxv/v5L/6NX/eR//n17/xJr/mVP/hzb/gy//fCX/eyL/483/dRj/6tn/gCvKDcjkAAACEklEQVR4nO2ZaXOCMBCGg1RQVMQD76Nqa61ae/3//9bdhA6EaUIiYRw7eb+47IQHJyS7m4U4WXnhgpTXE4NxaDcyAAYd2tMc+tEMGBWNePTZHJqQIIuOzTC7g0ETfqJNBl0zQg5+Ua5xNGPVCalXhIYpiSpCu6l5F2iPalgFOiMxutGoCu07TqtNrVUrG2h4xb4+eomuTQesuhiM+tJFH5hvDOZcjnZO2ftqqV+EXjBfCGYSfoXCMTroyQv19cB0C9A4RgdNhug65of/Ibo7tNAYHOnCB7VdoZp9/i4l9HWyaIu2aIu+Z/TY9zF9oRrioBpyiUAjFbBiHnK7RNqpIElgGOiLEhiXDBTQHebDIpxWzBLhGB30O/O9grkvQHd155pO8O4brJWc7OmvECifksKsLinMNmv+LrV13cutKyXdestYtEVbtEWXQs9mVaEhJc6fqSWL13HAxuig1+haTsC67MRkEN/CU0B/Mh82F7ZSsuOwVKSOTs78WGTIT6S5QkQBPUv/NTQapeLaJipzHaKLNTvkZL4horZCptN5Ym5rQgV8XXb7LWPRFm3R/wadni65444JdCrs+lo0Xrosqo/EAV8o+LQjR6eXurLonLA9IESvCOlfjx7J0LgHi+ojsT7y6DiD3qNjQXf6wxXKkc+ZxxLnLf/gMqL1bRr5yn7qShVxCwKD6vF0MQHuND3uPfwANQcar49so8oAAAAASUVORK5CYII=" alt="" class="page-downloader-tip-item-icon"><span class="page-downloader-tip-item-title">历年真题</span><span class="page-downloader-tip-item-subtitle">答案解析</span></li><li><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAq1BMVEUZhf8AAAD///8Zhv9TpP8njf+Mwv/U6P+p0v82lP/G4f/i8P9EnP/x9/9vsv+42f/V6f+byv8ahf9hq/9So/8ZhP8Xhv8ZhP8Zhv8Xh/8kkv/F4P8ahP8cf/8Zhf8civ8Yhf8Zhf8ahf8Zhf8ahf8Vf/8Zhf8Yhv8ZhP8Sf/8Zhv8YhP8Yhf8ahf8Zhf8Zhf8Whf8Zhf8YhP8ZhP8Zh/8ZhP8gf/8Yg/8Zhv9PI83jAAAAOXRSTlP/AP+///////////////////+p//9bTMLpIQf/OxKHJXK7UPmWDJAqaA58VbKf888X8V+mSB8QgNRFi0VFAAAB2UlEQVR4nO3Z6Y6CMBQFYEBgQBH3fXd09n1//ycbsCVit7T0NpmJPb+U6Be4HBoIjnvMfrDcvDra6d4jrkTPn/XZQx5J+gYIdpwaQc/BZJLeXxqjd3AyQU8AZYLemqPvzNFdc3TN0udGJ/0w7PUDcDqJGh5KKwWl4wi7hzR8ONpvluUsHSg6JeB8KjB0QsueF0HQATkNlB4AfXIGj2nSLVSl45MR+7Ffx59DbbpTkpHWwhXUpi9KfUZbAvw10aTL8yha0eZMRJH2GWXGBwJJN1ApigOpa9InV+JhIsEMiC7vtefN0n5arIDaA2Fe5TB00TRGqKVVjQ5KtSbSpH6sRAtkxtqnQotkL9ahhTK9OinQQrnN+IM0LZQZq7U8Ld5n5t2IJC2UO+z7HDmakvFCmieiu6FAk3JeBz+sZwl7/DszGZraZ0bTqtH0nKFoxhkEolndgKFJOfKz8DqhRlc7g1J0tVmcBx2FWTgPF5q0gmrpP0bn1zWO4Jn5/zz+W9rSlra0peXo0WCBvlcOj/7WdPn0z60xeq0v8+hrI/R7vunFCL3ONw2N0B/5poepCfoTdX1lgMZvqsa7CTy9MPcq0x2Yo92hOdpdbYDoLUW707er0ZM2PF5+Ie4XoagbkMfsC8wAAAAASUVORK5CYII=" alt="" class="page-downloader-tip-item-icon"><span class="page-downloader-tip-item-title">备考技巧</span><span class="page-downloader-tip-item-subtitle">名师总结</span></li><li><img src="data:image/png;base64,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" alt="" class="page-downloader-tip-item-icon"><span class="page-downloader-tip-item-title">高频考点</span><span class="page-downloader-tip-item-subtitle">精准押题</span></li></ul><button type="button" lay-on="showLoginPopup" class="el-button page-downloader-tip-button analytics-el el-button--primary"><span>获取网盘下载链接 </span></button></div></div><div class="heigh10"></div><div class="layui-tab layui-tab-brief"><ul class="layui-tab-title"><li class="layui-this">资料下载</li><li>历年真题</li></ul><div class="layui-tab-content"><div class="layui-tab-item layui-show"><div class="ziliao-box-new"><ul><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2024上半年软考中级软件测评师考试基础知识真题</a></div><p><span>193.9 KB</span><span>下载数265</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2024上半年软考中级软件设计师考试基础知识真题</a></div><p><span>191.63 KB</span><span>下载数245</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2023下半年-系统集成项目管理工程师-真题考点汇总(完整版)</a></div><p><span>143.91 KB</span><span>下载数1148</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2023年下半年系统集成项目管理工程师第一、二、三批次真题考点整理(考友回忆版)</a></div><p><span>183.71 KB</span><span>下载数642</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li><li><div class="ziliao-icon ziliao-icon-pdf"></div><div class="info"><div class="name"><a href="javascript:void(0);" lay-on="showLoginPopup">2023年上半年软考中级《系统集成项目管理工程师》-基础知识-考试真题及答案</a></div><p><span>644.84 KB</span><span>下载数2756</span></p></div><button class="download-btn"><a style="color: white;" href="javascript:void(0);" lay-on="showLoginPopup">查看</a></button></li></ul></div></div><div class="layui-tab-item"><div class="exam-box-new"><ul><li><p>2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    813人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li><li><p>【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    354人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li><li><p>【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    318人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li><li><p>2024年上半年软考高项第一、二批次真题考点汇总(完整版)</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    435人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li><li><p>2024年上半年系统架构设计师考试综合知识真题</p><div> 难度  <span></span><span></span><span></span><em></em><em></em>    224人已做 </div><a class="download-btn see-btn" href="javascript:void(0);" lay-on="showLoginPopup"> 查看 </a></li></ul></div></div></div></div><div class="article_relate"><div class="relateTop"><h3>相关文章</h3><span class="intro">发现更多好内容</span></div><ul class="clearfix"><li><a href="https://m.528045.com/article/wm6k81fcck.html" title="如何在 Java 中获取 Word 文档内容?(java怎么获取word文档内容)">如何在 Java 中获取 Word 文档内容?(java怎么获取word文档内容)</a></li><li><a href="https://m.528045.com/article/teob0zkkc2.html" title="如何在 Java 集成测试中应用 Spock 框架?(Spock框架在Java集成测试中的应用)">如何在 Java 集成测试中应用 Spock 框架?(Spock框架在Java集成测试中的应用)</a></li><li><a href="https://m.528045.com/article/h2z0t6ik11.html" title="Dapr 究竟为 Java 生态系统带来了哪些贡献?(Dapr对Java生态系统有何贡献)">Dapr 究竟为 Java 生态系统带来了哪些贡献?(Dapr对Java生态系统有何贡献)</a></li><li><a href="https://m.528045.com/article/3xg3en4ger.html" title="如何在 Java 中解析 XML 字符串?(java怎么解析xml字符串)">如何在 Java 中解析 XML 字符串?(java怎么解析xml字符串)</a></li><li><a href="https://m.528045.com/article/wyr1xao2u9.html" title="Java 中常见的跳出循环的方式有哪些?(Java跳出循环的方式有哪些)">Java 中常见的跳出循环的方式有哪些?(Java跳出循环的方式有哪些)</a></li><li><a href="https://m.528045.com/article/m9zrtcfgto.html" title="Java Arrays 类中 copyOfRange 的使用场景有哪些?(Java Arrays类中copyOfRange的使用场景)">Java Arrays 类中 copyOfRange 的使用场景有哪些?(Java Arrays类中copyOfRange的使用场景)</a></li><li><a href="https://m.528045.com/article/16eij42mau.html" title="如何设置 Java Kubernetes 安全策略?(java kubernetes安全策略如何设置)">如何设置 Java Kubernetes 安全策略?(java kubernetes安全策略如何设置)</a></li><li><a href="https://m.528045.com/article/vuzfjq3il8.html" title="有哪些常用的 java 文本编辑器?(常用的java文本编辑器有哪些)">有哪些常用的 java 文本编辑器?(常用的java文本编辑器有哪些)</a></li><li><a href="https://m.528045.com/article/vf0kzinc99.html" title="Java中 AOP 的应用场景具体有哪些?(java中aop的应用场景有哪些)">Java中 AOP 的应用场景具体有哪些?(java中aop的应用场景有哪些)</a></li><li><a href="https://m.528045.com/article/znsi7yv4cg.html" title="如何在 Java 中实现踢人下线功能?(Java怎么实现踢人下线功能)">如何在 Java 中实现踢人下线功能?(Java怎么实现踢人下线功能)</a></li></ul></div><div class="recommendArticle"><div class="title"><h3>猜你喜欢</h3><span class="intro">AI推送时光机</span></div><div class="list list_wrap"><div class="articleInfor "><a href="/article/704f5271eb.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Java 正则表达式匹配</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-10-27</span></div></div><div class="articleInfor "><a href="/article/81690af37a.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Java匹配正则表达式汇总</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-03-24</span></div></div><div class="articleInfor "><a href="/article/f8f23fd54d.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Java正则表达式API边界匹配</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div><div class="articleInfor "><a href="/article/.html"><div class="topCon clearfix"><h3 class="tit">如何利用 Java 正则表达式进行单词匹配?(怎么用java正则表达式匹配单词)</h3><div class="img"><img class="lazy" data-src="https://www.528045.com/skin/thumb/nxpic3.jpg" alt="如何利用 Java 正则表达式进行单词匹配?(怎么用java正则表达式匹配单词)" /></div></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/Java/" title="Java" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">Java</a><span class="time">2024-12-17</span></div></div><div class="articleInfor "><a href="/article/4bee8400e3.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Python中使用正则表达式及正则表达式匹配规则详解</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-03-22</span></div></div><div class="articleInfor "><a href="/article/06c44b91ad.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">怎么用java正则表达式匹配单词</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-10-18</span></div></div><div class="articleInfor "><a href="/article/cb0e99a3c0.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">java正则表达式匹配规则超详细总结</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div><div class="articleInfor "><a href="/article/b0effe153c.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">正则表达式怎么匹配数字</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-06-17</span></div></div><div class="articleInfor "><a href="/article/433bd2c6a6.html"><div class="topCon clearfix"><h3 class="tit">匹配重复模式的正则表达式</h3><div class="img"><img class="lazy" data-src="https://static.528045.com/imgs/48.jpg?imageMogr2/format/webp/blur/1x0/quality/35" alt="匹配重复模式的正则表达式" /></div></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-04</span></div></div><div class="articleInfor "><a href="/article/9a38a5db59.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Java正则表达式循环匹配字符串方式</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div><div class="articleInfor "><a href="/article/2bff3b676e.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">在正则表达式中匹配空格</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-09-17</span></div></div><div class="articleInfor "><a href="/article/05a6ff08f0.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Python匹配中文的正则表达式</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2022-06-04</span></div></div><div class="articleInfor "><a href="/article/80673c75ce.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">正则表达式如何匹配单词</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-06-17</span></div></div><div class="articleInfor "><a href="/article/dae0f8ae35.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">正则表达式空格如何匹配</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-10-08</span></div></div><div class="articleInfor "><a href="/article/4ec84d6855.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">LeetCode之正则表达式匹配(Top 100)</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/LeetCode/" title="LeetCode" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">LeetCode</a><a href="/tag/正则表达式/" title="正则表达式" class="ren-summary-tag t" style="color: #fff!important;background-color: #9961dd;">正则表达式</a><span class="time">2024-12-02</span></div></div><div class="articleInfor "><a href="/article/1c4c102520.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Java匹配正则表达式的方法是什么</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-07-05</span></div></div><div class="articleInfor "><a href="/article/.html"><div class="topCon clearfix"><h3 class="tit">Java 中如何使用正则表达式匹配字符串?(java正则表达式匹配字符串的方法是什么)</h3><div class="img"><img class="lazy" data-src="https://www.528045.com/skin/thumb/nxpic2.jpg" alt="Java 中如何使用正则表达式匹配字符串?(java正则表达式匹配字符串的方法是什么)" /></div></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><a href="/tag/Java/" title="Java" class="ren-summary-tag t" style="color: #fff!important;background-color: #958ef2;">Java</a><span class="time">2024-12-19</span></div></div><div class="articleInfor "><a href="/article/c46dc0f939.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">正则表达式的匹配规则有哪些</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-09-26</span></div></div><div class="articleInfor "><a href="/article/aef1f751ac.html"><div class="topCon clearfix"><h3 class="tit">Java如何多字节正则表达式匹配的设置字符串和正则表达式</h3><div class="img"><img class="lazy" data-src="https://static.528045.com/imgs/14.jpg?imageMogr2/format/webp/blur/1x0/quality/35" alt="Java如何多字节正则表达式匹配的设置字符串和正则表达式" /></div></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2024-04-02</span></div></div><div class="articleInfor "><a href="/article/d13463adb6.html"><div class="topCon clearfix"><h3 class="tit" style="width: 100%!important;">Java正则表达式API边界匹配怎么实现</h3></div></a><div class="info"><a href="https://m.528045.com/article/program-c4-1.html"><span class="icon icon_flag">后端开发</span></a><span class="time">2023-07-02</span></div></div></div></div><div class="breadNav"> 位置:<a class="LinkPath" href="http://m.528045.com/">首页</a>-<a class="LinkPath" href="https://m.528045.com/article/">资讯</a>-<a href="https://m.528045.com/article/program-c4-1.html">后端开发</a></div><div class="noMoreData"> 咦!没有更多了?去看看其它<a href="https://m.528045.com/">编程学习网</a> 内容吧 </div></div><div class="popCommon"></div><div class="btmNav"><a href="/" class="btmNavItem"><img src="https://static.528045.com/m/index.svg"><span class="name">首页</span></a><a href="/course/" class="btmNavItem"><img src="https://static.528045.com/m/wish.svg"><span class="name">课程</span></a><a href="/down/" class="btmNavItem"><div class="guide"></div><img class="pubImg" src="https://static.528045.com/m/btn_new.png"><span class="name">资料下载</span></a><a href="/ask/" class="btmNavItem"><img src="https://static.528045.com/m/msg.svg"><span class="name">问答</span><span class="num"></span></a><a href="/article/" class="btmNavItem btmMe on"><img src="https://static.528045.com/m/me_on.svg"><span class="name">资讯</span></a></div><script src="https://m.528045.com/static/layui/layui.js" type="text/javascript"></script><script src="https://m.528045.com/static/js/custom-script.js" type="text/javascript"></script><script src="https://m.528045.com/static/js/indexsms.js?v=20240108.1443"></script><script src="https://m.528045.com/static/skin/static/js/content.js"></script></body></html>