diff --git a/CHANGELOG.md b/CHANGELOG.md index fe0f37050..f9e98ddfd 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,11 +2,12 @@ # 🚀Changelog ------------------------------------------------------------------------------------------------------------- -# 5.8.35(2024-12-04) +# 5.8.35(2024-12-05) ### 🐣新特性 * 【poi 】 优化ExcelWriter中使用比较器writer的方法,只对第一条数据进行排序(pr#3807@Github) * 【extra 】 优化Ftp.download,返回false抛出异常(issue#3805@Github) +* 【core 】 优化MAC地址正则(issue#IB95X4@Gitee) ### 🐞Bug修复 * 【crypto 】 修复JWTSignerUtil.createSigner中algorithmId未转换问题(issue#3806@Github) diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/RegexPool.java b/hutool-core/src/main/java/cn/hutool/core/lang/RegexPool.java index 96d5b4457..664be9a46 100755 --- a/hutool-core/src/main/java/cn/hutool/core/lang/RegexPool.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/RegexPool.java @@ -132,7 +132,8 @@ public interface RegexPool { /** * MAC地址正则 */ - String MAC_ADDRESS = "((?:[a-fA-F0-9]{1,2}[:-]){5}[a-fA-F0-9]{1,2})|0x(\\d{12}).+ETHER"; + //String MAC_ADDRESS = "((?:[a-fA-F0-9]{1,2}[:-]){5}[a-fA-F0-9]{1,2})|0x(\\d{12}).+ETHER"; + String MAC_ADDRESS = "((?:[a-fA-F0-9]{1,2}[:-]){5}[a-fA-F0-9]{1,2})|((?:[a-fA-F0-9]{1,4}[.]){2}[a-fA-F0-9]{1,4})|[a-fA-F0-9]{12}|0x(\\d{12}).+ETHER"; /** * 16进制字符串 */ diff --git a/hutool-core/src/test/java/cn/hutool/core/util/IssueIB95X4Test.java b/hutool-core/src/test/java/cn/hutool/core/util/IssueIB95X4Test.java new file mode 100644 index 000000000..49b281229 --- /dev/null +++ b/hutool-core/src/test/java/cn/hutool/core/util/IssueIB95X4Test.java @@ -0,0 +1,16 @@ +package cn.hutool.core.util; + +import cn.hutool.core.lang.PatternPool; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class IssueIB95X4Test { + + @Test + void isMacTest() { + Assertions.assertTrue(ReUtil.isMatch(PatternPool.MAC_ADDRESS, "ab1c.2d3e.f468")); + Assertions.assertTrue(ReUtil.isMatch(PatternPool.MAC_ADDRESS, "ab:1c:2d:3e:f4:68")); + Assertions.assertTrue(ReUtil.isMatch(PatternPool.MAC_ADDRESS, "ab-1c-2d-3e-f4-68")); + Assertions.assertTrue(ReUtil.isMatch(PatternPool.MAC_ADDRESS, "ab1c2d3ef468")); + } +}