mirror of
https://gitee.com/dromara/hutool.git
synced 2026-02-09 09:16:26 +08:00
修复ReUtil.replaceAll空指针问题(issue#IDPHVW@Gitee)
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
* 【core 】 修复`BufferUtil`copy歧义问题(issue#IDN097@Gitee)
|
||||
* 【core 】 修复`JschSessionPool`回收导致的session未关闭问题(issue#4223@Github)
|
||||
* 【core 】 修复`XmlUtil.xmlToBean`option参数无效问题(issue#4226@Github)
|
||||
* 【core 】 修复`ReUtil.replaceAll`空指针问题(issue#IDPHVW@Gitee)
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
# 5.8.43(2026-01-04)
|
||||
|
||||
@@ -4,10 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.comparator.LengthComparator;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.exceptions.UtilException;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.lang.PatternPool;
|
||||
import cn.hutool.core.lang.RegexPool;
|
||||
import cn.hutool.core.lang.Validator;
|
||||
import cn.hutool.core.lang.*;
|
||||
import cn.hutool.core.lang.func.Func1;
|
||||
import cn.hutool.core.lang.mutable.Mutable;
|
||||
import cn.hutool.core.lang.mutable.MutableObj;
|
||||
@@ -216,7 +213,7 @@ public class ReUtil {
|
||||
* @param pattern 编译后的正则模式
|
||||
* @param content 被匹配的内容
|
||||
* @param withGroup0 是否包括分组0,此分组表示全匹配的信息
|
||||
* @param findAll 是否查找所有匹配到的内容,{@code false}表示只读取第一个匹配到的内容
|
||||
* @param findAll 是否查找所有匹配到的内容,{@code false}表示只读取第一个匹配到的内容
|
||||
* @return 匹配后得到的字符串数组,按照分组顺序依次列出,未匹配到返回空列表,任何一个参数为null返回null
|
||||
* @since 4.0.13
|
||||
*/
|
||||
@@ -234,7 +231,7 @@ public class ReUtil {
|
||||
result.add(matcher.group(i));
|
||||
}
|
||||
|
||||
if(false == findAll){
|
||||
if (false == findAll) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -885,7 +882,8 @@ public class ReUtil {
|
||||
String replacement = replacementTemplate;
|
||||
for (final String var : varNums) {
|
||||
final int group = Integer.parseInt(var);
|
||||
replacement = replacement.replace("$" + var, matcher.group(group));
|
||||
//replacement = replacement.replace("$" + var, matcher.group(group));
|
||||
replacement = StrUtil.replace(replacement, "$" + var, matcher.group(group));
|
||||
}
|
||||
matcher.appendReplacement(sb, escape(replacement));
|
||||
result = matcher.find();
|
||||
|
||||
@@ -244,4 +244,10 @@ public class ReUtilTest {
|
||||
s = ReUtil.get(PatternPool.EMAIL, mail, 0);
|
||||
assertEquals("a.b@Hutool.cn", s);
|
||||
}
|
||||
|
||||
@Test
|
||||
void issueIDPHVWTest(){
|
||||
final String s = ReUtil.replaceAll("2 倾斜摄影成果", "(^\\d+(\\.\\d+)*)(\\s)(((.*?)(DEM|DOM)?)([(|\\(](.*?)[)|\\)])?$)", "$1$3$5($9)");
|
||||
assertEquals("2 倾斜摄影成果()", s);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user