This commit is contained in:
雷欧(林平凡)
2025-08-08 14:36:29 +08:00
parent aabbb3cc17
commit b4c27a26d7

View File

@@ -2796,10 +2796,9 @@ public class JDUtil {
return null;
}
// 正则表达式会忽略换行符,只关注◉和数字的位置关系
// 即使◉和价格之间有换行也能匹配
// 更新正则表达式以处理包含┞(\u239C)字符的情况
Pattern pattern = Pattern.compile("\\u25C9\\s*(?:\\u239C)?\\s*([\\d.]+)\\s*\\uD83D\\uDCB0?");
// 更健壮的正则表达式,可以处理各种空白字符和中间的其他字符
// 使用[\s\S]*?非贪婪匹配可能存在于价格前的任何字符
Pattern pattern = Pattern.compile("\\u25C9[\\s\\S]*?([\\d.]+)\\s*\\uD83D\\uDCB0?");
Matcher matcher = pattern.matcher(input);
@@ -2815,8 +2814,8 @@ public class JDUtil {
}
}
// fallback处理
Pattern fallbackPattern = Pattern.compile("\\u25C9\\s*(?:\\u239C)?\\s*([\\d.]+)");
// fallback处理 - 更宽松的匹配
Pattern fallbackPattern = Pattern.compile("\\u25C9[\\s\\S]*?([\\d.]+)");
Matcher fallbackMatcher = fallbackPattern.matcher(input);
if (fallbackMatcher.find()) {
logger.info("parsePrice第二次正则匹配到的价格{}", fallbackMatcher.group(1));