use once_cell::sync::Lazy;
use regex::Regex;
pub static VERSION_PATTERNS: Lazy<Vec<Regex>> = Lazy::new(|| {
vec![
Regex::new(r"(?i)ver\.?\s*(\d+(?:\.\d+)*)").unwrap(),
Regex::new(r"(?i)v\.?\s*(\d+(?:\.\d+)*)").unwrap(),
Regex::new(r"_(\d+\.\d+(?:\.\d+)*)").unwrap(),
Regex::new(r"(\d+\.\d+(?:\.\d+)*)$").unwrap(),
]
});
pub static PREFIX_PATTERNS: Lazy<Vec<Regex>> = Lazy::new(|| {
vec![
Regex::new(r"【[^】]*】").unwrap(),
Regex::new(r"\[[^\]]*\]").unwrap(),
]
});
pub static VERSION_REMOVAL_PATTERNS: Lazy<Vec<Regex>> = Lazy::new(|| {
vec![
Regex::new(r"(?i)ver\.?\s*\d+(?:\.\d+)*[a-z]*").unwrap(),
Regex::new(r"(?i)v\.?\s*\d+(?:\.\d+)*[a-z]*").unwrap(),
Regex::new(r"_\d+\.\d+(?:\.\d+)*[a-z]*").unwrap(),
Regex::new(r"\d+\.\d+(?:\.\d+)*[a-z]*$").unwrap(),
]
});
pub static PLATFORM_PATTERNS: Lazy<Vec<Regex>> = Lazy::new(|| {
vec![
Regex::new(r"(?i)PC版").unwrap(),
Regex::new(r"(?i)Windows版?").unwrap(),
Regex::new(r"(?i)Mac版?").unwrap(),
Regex::new(r"(?i)Linux版?").unwrap(),
Regex::new(r"(?i)Android版?").unwrap(),
Regex::new(r"(?i)iOS版?").unwrap(),
]
});
pub static SUFFIX_PATTERNS: Lazy<Vec<Regex>> = Lazy::new(|| {
vec![
Regex::new(r"(?i)AI汉化$").unwrap(),
Regex::new(r"(?i)汉化版?$").unwrap(),
Regex::new(r"(?i)中文版?$").unwrap(),
Regex::new(r"(?i)官中$").unwrap(),
]
});