1
This commit is contained in:
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user