From f7110fd6fb2e366b289340cf81031b2ab20ed1eb Mon Sep 17 00:00:00 2001
From: LuckyPuppy514 <122154133@qq.com>
Date: Sun, 28 May 2023 21:04:05 +0800
Subject: [PATCH] =?UTF-8?q?v3.2.3=20=E4=BC=98=E5=8C=96=E4=B8=8B=E8=BD=BD?=
=?UTF-8?q?=E5=99=A8=E6=96=87=E4=BB=B6=E9=87=8D=E5=91=BD=E5=90=8D=E9=80=BB?=
=?UTF-8?q?=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
changelog.en_US.md | 4 ++++
changelog.md | 4 ++++
pom.xml | 2 +-
src/main/java/com/lckp/jproxy/constant/Common.java | 2 +-
.../com/lckp/jproxy/service/impl/TransmissionServiceImpl.java | 2 +-
src/main/java/com/lckp/jproxy/task/RadarrRenameTask.java | 2 +-
src/main/java/com/lckp/jproxy/task/SonarrRenameTask.java | 2 +-
src/main/resources/rule/sonarr@LuckyPuppy514.json | 2 +-
8 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/changelog.en_US.md b/changelog.en_US.md
index 6fa5018..8005b2a 100644
--- a/changelog.en_US.md
+++ b/changelog.en_US.md
@@ -3,6 +3,10 @@
# Change Logs
+## v3.2.3 2023-05-28
+
+1. Optimize downloader file rename logic
+
## v3.2.2 2023-05-23
1. Optimize search logic
diff --git a/changelog.md b/changelog.md
index 1eb55f6..0c1e001 100644
--- a/changelog.md
+++ b/changelog.md
@@ -3,6 +3,10 @@
# 变更日志
+## v3.2.3 2023-05-28
+
+1. 优化下载器文件重命名逻辑
+
## v3.2.2 2023-05-23
1. 优化查询逻辑
diff --git a/pom.xml b/pom.xml
index 63c7b7d..d71d8bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
com.lckp
jproxy
- 3.2.2
+ 3.2.3
JProxy
介于 Sonarr/Radarr 和 Jackett/Prowlarr 之间的代理,主要用于优化查询和提升识别率
diff --git a/src/main/java/com/lckp/jproxy/constant/Common.java b/src/main/java/com/lckp/jproxy/constant/Common.java
index 633bd78..7b54456 100644
--- a/src/main/java/com/lckp/jproxy/constant/Common.java
+++ b/src/main/java/com/lckp/jproxy/constant/Common.java
@@ -47,7 +47,7 @@ public class Common {
// 标题主规则 ID
public static final String MOST_IMPORTANT_TITLE_RULE_ID = "00000000000000000000000000000000";
// 视频文件扩展名正则表达式
- public static final String VIDEO_EXTENSION_REGEX = "(\\.(mp4|avi|wmv|flv|mov|mkv|webm|mpg|mpeg|3gp|iso))$";
+ public static final String VIDEO_AND_SUBTITLE_EXTENSION_REGEX = "(\\.(mp4|avi|wmv|flv|mov|mkv|webm|mpg|mpeg|3gp|iso|ass|srt|ssa|idx|sub))$";
// 时间格式
public static final String DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
}
diff --git a/src/main/java/com/lckp/jproxy/service/impl/TransmissionServiceImpl.java b/src/main/java/com/lckp/jproxy/service/impl/TransmissionServiceImpl.java
index 5e8d56c..54d9f8e 100644
--- a/src/main/java/com/lckp/jproxy/service/impl/TransmissionServiceImpl.java
+++ b/src/main/java/com/lckp/jproxy/service/impl/TransmissionServiceImpl.java
@@ -143,7 +143,7 @@ public boolean rename(String hash, String name) {
log.debug("Transmission 种子暂时无法重命名:{}", oldName);
return false;
}
- Matcher matcher = Pattern.compile(Common.VIDEO_EXTENSION_REGEX).matcher(oldName);
+ Matcher matcher = Pattern.compile(Common.VIDEO_AND_SUBTITLE_EXTENSION_REGEX).matcher(oldName);
if (matcher.find()) {
String extension = matcher.group(1);
name = name + extension;
diff --git a/src/main/java/com/lckp/jproxy/task/RadarrRenameTask.java b/src/main/java/com/lckp/jproxy/task/RadarrRenameTask.java
index c0596ec..38b9834 100644
--- a/src/main/java/com/lckp/jproxy/task/RadarrRenameTask.java
+++ b/src/main/java/com/lckp/jproxy/task/RadarrRenameTask.java
@@ -113,7 +113,7 @@ public synchronized void run() {
String oldFileName = oldFilePath.substring(startIndex);
String newFileName = oldFileName;
Matcher extensionMatcher = Pattern
- .compile(Common.VIDEO_EXTENSION_REGEX)
+ .compile(Common.VIDEO_AND_SUBTITLE_EXTENSION_REGEX)
.matcher(oldFileName);
if (extensionMatcher.find()) {
String extension = extensionMatcher.group(1);
diff --git a/src/main/java/com/lckp/jproxy/task/SonarrRenameTask.java b/src/main/java/com/lckp/jproxy/task/SonarrRenameTask.java
index c656b2f..3b8b704 100644
--- a/src/main/java/com/lckp/jproxy/task/SonarrRenameTask.java
+++ b/src/main/java/com/lckp/jproxy/task/SonarrRenameTask.java
@@ -133,7 +133,7 @@ public synchronized void run() {
String oldFileName = oldFilePath.substring(startIndex);
String newFileName = oldFileName;
Matcher extensionMatcher = Pattern
- .compile(Common.VIDEO_EXTENSION_REGEX)
+ .compile(Common.VIDEO_AND_SUBTITLE_EXTENSION_REGEX)
.matcher(oldFileName);
if (extensionMatcher.find()) {
String extension = extensionMatcher.group(1);
diff --git a/src/main/resources/rule/sonarr@LuckyPuppy514.json b/src/main/resources/rule/sonarr@LuckyPuppy514.json
index acb85a4..4b5f979 100644
--- a/src/main/resources/rule/sonarr@LuckyPuppy514.json
+++ b/src/main/resources/rule/sonarr@LuckyPuppy514.json
@@ -1 +1 @@
-[{"id":"00000000000000000000000000000000","token":"title","priority":999,"regex":".*(\\b|\\s){cleanTitle}(\\b|\\s).*","replacement":"{mainTitle}","offset":0,"example":"","remark":"\uD83D\uDEAB\uD83D\uDEAB\uD83D\uDEAB\uD83D\uDEAB\uD83D\uDEAB","author":"LuckyPuppy514"},{"id":"310B92F87CC247FCA579522DE3E5DF67","token":"season","priority":1106,"regex":".*(第八季|第捌季).*","replacement":"S8","offset":0,"example":"xxx第八季xxx\nxxx第捌季xxx","remark":"第八季 | 第捌季","author":"LuckyPuppy514"},{"id":"E4964E6099B54FC688F3BEFF6D30CA7A","token":"season","priority":1107,"regex":".*(第九季|第玖季).*","replacement":"S9","offset":0,"example":"xxx第九季xxx\nxxx第玖季xxx","remark":"第九季 | 第玖季","author":"LuckyPuppy514"},{"id":"4722BC9AF4854DE3BCD75F2AE8F6F9BD","token":"season","priority":1108,"regex":".*(第十季|第拾季).*","replacement":"S10","offset":0,"example":"xxx第十季xxx\nxxx第拾季xxx","remark":"第十季 | 第拾季","author":"LuckyPuppy514"},{"id":"3AD5D4E8E0A44F15ABAA05E598F70CEB","token":"season","priority":2000,"regex":".*\\b0*(\\d{1,2})( - | )0*(\\d{1,3}|1[0-8]\\d{2})\\b.*","replacement":"S$1","offset":0,"example":"xxx 01 - 01 xxx\nxxx 01 01 xxx\nxxx 99 1899 xxx","remark":"01 - 01 | 01 01 | 99 1899 ......","author":"LuckyPuppy514"},{"id":"D0424165776B45E4927C698E1FE0E856","token":"language","priority":1100,"regex":".*(繁简|简繁|简日|日简|繁日|日繁).*","replacement":"[$1]","offset":0,"example":"xxx繁日xxx\nxxx简日xxx\nxxx繁简xxx\nxxx简繁xxx","remark":"简繁 | 间日 | 繁日","author":"LuckyPuppy514"},{"id":"32F62461B8124572A53602A4B76BE70A","token":"language","priority":1200,"regex":".*(简体|簡體|简中|简|(?i)\\bCHS\\b|\\bGB\\b|GB_CN).*","replacement":"[简中]","offset":0,"example":"xxx简体xxx\nxxx CHS xxx\nxxx簡體xxx\nxxx GB xxx\nxxxGB_CNxxx","remark":"简体 | 簡體 | 简中 | 简 | CHS | GB | GB_CN","author":"LuckyPuppy514"},{"id":"01616775F99C484CBC6BF79A3FBE513E","token":"language","priority":1300,"regex":".*(繁体|繁中|繁|(?i)\\bCHT\\b|zh-TW|zh-HK|zh-SG|\\bBIG5\\b).*","replacement":"[繁中]","offset":0,"example":"xxx繁xxx\nxxx CHT xxx\nxxx cht xxx\nxxxzh-TWxxx\nxxxzh-HKxxx\nxxxzh-SGxxx\nxxx BIG5 xxx","remark":"繁体 | 繁中 | 繁 | CHT | zh-TW | zh-HK | zh-SG | BIG5","author":"LuckyPuppy514"},{"id":"CC8FAC9272334EBDADE2C3BAE33BCBC7","token":"language","priority":1400,"regex":".*(中文|中字|汉语|(?i)Chinese|zh-CN|\\bCHI\\b).*","replacement":"[Chinese]","offset":0,"example":"xxx中文xxx\nxxx汉语xxx\nxxxChinesexxx\nxxxzh-CNxxx\nxxx CHI xxx","remark":"中文 | 中字 | 汉语 | Chinese | zh-CN | CHI","author":"LuckyPuppy514"},{"id":"3D1B02EC745443B9916894D1EEFDF74D","token":"resolution","priority":1100,"regex":".*((?i)1280X720|720P|\\bSD\\b|标清|\\b720\\b).*","replacement":"[720P]","offset":0,"example":"xxx 1280X720 xxx\nxxx 720P xxx\nxxx SD xxx\nxxx 标清 xxx\nxxx 720 xxx\n【幻櫻字幕組】【4月新番】【打工吧!魔王大人_Hataraku Maou-sama】【08】【BIG5_MP4】【1280X720】","remark":"1280X720 | 720P| SD | 标清 | 720","author":"LuckyPuppy514"},{"id":"F0B2B567595B439B9731062453D13D9D","token":"resolution","priority":1000,"regex":".*((?i)1920X1080|1080P|\\bHD\\b|Full-HD|高清|\\b1080\\b|\\b1K\\b).*","replacement":"[1080P]","offset":0,"example":"xxx1920X1080xxx\nxxx1080Pxxx\nxxx HD xxx\nxxx高清xxx\nxxx 1080 xxx\n[BDRip_Full-HD_AVC]\nxxx 1K xxx","remark":"1920X1080 | 1080P | HD | Full-HD | 高清 | 1080 | 1K","author":"LuckyPuppy514"},{"id":"802F223555604889874EE1E918CEEE9F","token":"resolution","priority":1300,"regex":".*((?i)2560X1440|1440P|\\b2K\\b|\\b1440\\b).*","replacement":"[1440P]","offset":0,"example":"xxx 2560X1440 xxx\nxxx 1440P xxx\nxxx 2K xxx\nxxx 1440 xxx","remark":"2560X1440 | 1440P | 2K | 1440","author":"LuckyPuppy514"},{"id":"F0B8685B8BD44A349CD1D71FAD9262E2","token":"resolution","priority":1200,"regex":".*((?i)3840x2160|2160P|\\b4K\\b|\\bUHD\\b|超高清|\\b2160\\b).*","replacement":"[2160P]","offset":0,"example":"xxx3840x2160xxx\nxxx2160Pxxx\nxxx 4K xxx\nxxx UHD xxx\nxxx超高清xxx\nxxx 2160 xxx","remark":"3840x2160 | 2160P| 4K | UHD | 超高清 | 2160","author":"LuckyPuppy514"},{"id":"419DC749C479440185FC8F8E1BDD04EE","token":"quality","priority":2100,"regex":".*\\b((?i)CAM|HDCAM|TELESYNC|TELECINE|HDTS|HDTC)\\b.*","replacement":"[$1]","offset":0,"example":"xxx CAM xxx\nxxx TELESYNC xxx\nxxx TELECINE xxx\nxxx HDTS xxx\nxxx HDCAM xxx","remark":"CAM | HDCAM | TELESYNC | TELECINE | HDTS | HDTC","author":"LuckyPuppy514"},{"id":"E44AD59943A64E3587DAA6E60B236BC7","token":"quality","priority":2000,"regex":".*((?i)\\bSDTV\\b).*","replacement":"[SDTV]","offset":0,"example":"xxx SDTV xxx","remark":"SDTV","author":"LuckyPuppy514"},{"id":"CAA6E3718F284B3E9087D25FCC681BA6","token":"quality","priority":1100,"regex":".*((?i)\\bHDTV\\b).*","replacement":"[HDTV]","offset":0,"example":"xxx HDTV xxx","remark":"HDTV","author":"LuckyPuppy514"},{"id":"B8A66E6AFB5D40EDA74A964ADB560DC9","token":"quality","priority":1000,"regex":".*((?i)\\bWEB.?DL\\b).*","replacement":"[WEBDL]","offset":0,"example":"xxx WEBDL xxx\nxxx WEB-DL xxx","remark":"WEBDL | WEB-DL","author":"LuckyPuppy514"},{"id":"0C4678B2749C496480EA805A5112DE52","token":"quality","priority":1000,"regex":".*((?i)\\bWEB.?RIP\\b).*","replacement":"[WEBRip]","offset":0,"example":"xxx WEBRip xxx\nxxx WEB-Rip xxx","remark":"WEBRip | WEB-Rip","author":"LuckyPuppy514"},{"id":"29D8FC56D1A0462B8D158DEE61A9418C","token":"quality","priority":1400,"regex":".*((?i)\\bRAW.?HD\\b).*","replacement":"[Raw-HD]","offset":0,"example":"xxx RawHD xxx\nxxx Raw-HD xxx","remark":"RawHD | Raw-HD","author":"LuckyPuppy514"},{"id":"52A87D6958E848DFA1441E68143EC00C","token":"quality","priority":1500,"regex":".*((?i)\\bBluray.?Remux\\b).*","replacement":"[Bluray-Remux]","offset":0,"example":"xxx BlurayRemux xxx\nxxx Bluray-Remux xxx","remark":"BlurayRemux | Bluray-Remux","author":"LuckyPuppy514"},{"id":"B8CC5016E5F64040B073E768864A017D","token":"quality","priority":1200,"regex":".*((?i)\\bBlu.?ray\\b).*","replacement":"[Bluray]","offset":0,"example":"xxx Bluray xxx\nxxx Blu-ray xxx","remark":"Bluray | Blu-ray","author":"LuckyPuppy514"},{"id":"7318BF3B11FB414892978952883575E5","token":"quality","priority":1300,"regex":".*((?i)\\bRemux\\b).*","replacement":"[Remux]","offset":0,"example":"xxx Remux xxx","remark":"Remux","author":"LuckyPuppy514"},{"id":"52F4F33130AA4A92A3170E048AAAECE6","token":"group","priority":1300,"regex":"^\\s*\\[([^]]+)\\].+","replacement":"[-$1]","offset":0,"example":"[group] xxx","remark":"[group]","author":"LuckyPuppy514"},{"id":"B13F8B7DBC31454DB5433882BEC6673C","token":"group","priority":1400,"regex":"^\\s*【([^】]+)】.+","replacement":"[-$1]","offset":0,"example":"【group】xxx","remark":"【group】","author":"LuckyPuppy514"},{"id":"ECE3FC67F60647B4BF025476E3BE31A2","token":"group","priority":1200,"regex":".*(\\[|\\(|【|(| )([^\\[\\(【( ]+(字幕组|字幕組|字幕社|发布组|发布組|汉化组|汉化組|压制组|压制組)).*","replacement":"[-$2]","offset":0,"example":"[KRL字幕組] xxxxxxxxxxxxx\n[北宇治字幕组] xxxxxxxxxxxxx\n【北宇治字幕组】 xxxxxxxxxxxxx\nxxxxxxxxxxxxx [悠哈璃羽字幕社] xxxxxxxxxxxxx\n[豌豆字幕组&风之圣殿字幕组] xxxxxxxxxxx\n[爱恋字幕社&波子汽水汉化组] xxxxxxxxxxxxx","remark":"字幕组 | 字幕組 | 字幕社 | 发布组 | 发布組 | 汉化组 | 汉化組 | 压制组 | 压制組","author":"LuckyPuppy514"},{"id":"DED9BE2BB9734B5EBA21CC281AE371C5","token":"group","priority":1100,"regex":".*\\b(PTerWEB|ADWeb|ANi|GM-Team|Lilith-Raws|LoliHouse|MMSUB|NC-Raws|NaN-Raws|OPFans枫雪动漫|OPFans楓雪動漫|PorterRAWS|SickeClipse|Skymoon-Raws|SweetSub|XK SPIRITS|c.c動漫|喵萌Production|喵萌奶茶屋|猎户不鸽压制|猎户随缘压制|神楽坂 まひろ|离谱Sub|Sakurato)\\b.*","replacement":"[-$1]","offset":0,"example":"xxx ANi xxx\nxxx GM-Team xxx\nxxx Lilith-Raws xxx\nxxx OPFans楓雪動漫 xxx","remark":"ANi | GM-Team | Lilith-Raws | LoliHouse ......","author":"LuckyPuppy514"},{"id":"CE743DB48D16408FA81F5941274525F1","token":"season","priority":999999,"regex":".+","replacement":"S1","offset":0,"example":"xxxxxx","remark":"Default = S1","author":"LuckyPuppy514"},{"id":"7E5FCBE09C1742649BA223120CCBBD5E","token":"language","priority":1000,"regex":".*简繁日.*","replacement":"[简繁日]","offset":0,"example":"xxx简繁日xxx","remark":"简繁日","author":"LuckyPuppy514"},{"id":"F2B453DB500D4A0C801B3BDAEDA27BF6","token":"season","priority":999,"regex":".*(死神.*千年血战|死神.*千年血戰).*","replacement":"S2","offset":0,"example":"xxx 死神 千年血战 xxx\nxxx 死神 千年血戰 xxx","remark":"死神 千年血战篇","author":"LuckyPuppy514"},{"id":"9AC7703D6A6149CCADCDB741BD60A2AD","token":"season","priority":1300,"regex":".*\\b([1-9])((?i)(st|nd|rd|th)\\s*Season)\\b.*","replacement":"S$1","offset":0,"example":"xxx 1st Season xxx\nxxx 4th Season xxx","remark":"1st Season | 2nd Season | 9th Season ......","author":"LuckyPuppy514"},{"id":"1E4BC53829E447328EB15E60B5F0529C","token":"season","priority":2109,"regex":".*Ⅰ.*","replacement":"S1","offset":0,"example":"xxxⅠxxx","remark":"Ⅰ","author":"LuckyPuppy514"},{"id":"2D0782716EE741DC970E6C8634EF968A","token":"season","priority":2100,"regex":".*(Ⅱ|\\bII\\b).*","replacement":"S2","offset":0,"example":"xxxⅡxxx\nxxx II xxx","remark":"Ⅱ | II","author":"LuckyPuppy514"},{"id":"8A4CD5A87E0141A6BE3142C709ADD731","token":"season","priority":2101,"regex":".*(Ⅲ|\\bIII\\b).*","replacement":"S3","offset":0,"example":"xxxⅢxxx\nxxx III xxx","remark":"Ⅲ | III","author":"LuckyPuppy514"},{"id":"EAB4B3B2D4C74483A08B7A8C3769E887","token":"season","priority":2102,"regex":".*(Ⅳ|\\bIV\\b).*","replacement":"S4","offset":0,"example":"xxxⅣxxx\nxxx IV xxx","remark":"Ⅳ | IV","author":"LuckyPuppy514"},{"id":"C53964A936794F99BB5F8FE53D715723","token":"season","priority":2103,"regex":".*Ⅴ.*","replacement":"S5","offset":0,"example":"xxxⅤxxx","remark":"Ⅴ","author":"LuckyPuppy514"},{"id":"FDCF7B24E2B044DC9AB2083017247517","token":"season","priority":2104,"regex":".*(Ⅵ|\\bVI\\b).*","replacement":"S6","offset":0,"example":"xxxⅥxxx\nxxx VI xxx","remark":"Ⅵ | VI","author":"LuckyPuppy514"},{"id":"09040C8B0ADF4D74B7506F2D79EA9571","token":"season","priority":2105,"regex":".*(Ⅶ|\\bVII\\b).*","replacement":"S7","offset":0,"example":"xxxⅦxxx\nxxx VII xxx","remark":"Ⅶ | VII","author":"LuckyPuppy514"},{"id":"EC553FA385C5454B9B2DB967EC02067E","token":"season","priority":2106,"regex":".*(Ⅷ|\\bVIII\\b).*","replacement":"S8","offset":0,"example":"xxxⅧxxx\nxxx VIII xxx","remark":"Ⅷ | VIII","author":"LuckyPuppy514"},{"id":"9DA462C04E7C4FFD8C8109DA969C9F09","token":"season","priority":2107,"regex":".*(Ⅸ|\\bIX\\b).*","replacement":"S9","offset":0,"example":"xxxⅨxxx\nxxx IX xxx","remark":"Ⅸ | IX","author":"LuckyPuppy514"},{"id":"D9297421B03C4D43B182ADE8179B3205","token":"season","priority":2108,"regex":".*Ⅹ.*","replacement":"S10","offset":0,"example":"xxxⅩxxx","remark":"Ⅹ","author":"LuckyPuppy514"},{"id":"160235AB3F7B4094842F5436F6F42C8F","token":"resolution","priority":1500,"regex":".*((?i)854X480|480P|\\b480\\b).*","replacement":"[480P]","offset":0,"example":"xxx854X480xxx\nxxx480Pxxx\nxxx480xxx","remark":"854X480 | 480P | 480","author":"LuckyPuppy514"},{"id":"9E79CCEC074A4CAD8AC8DE227E398FFC","token":"resolution","priority":1400,"regex":".*((?i)960X540|540P|\\b540\\b).*","replacement":"[540P]","offset":0,"example":"xxx960X540xxx\nxxx540Pxxx\nxxx 540 xxx","remark":"960X540 | 540P | 540","author":"LuckyPuppy514"},{"id":"64EF964B7ED4422AA67893B652BE0D1D","token":"resolution","priority":1600,"regex":".*((?i)640X360|360P|\\b360\\b).*","replacement":"[360P]","offset":0,"example":"xxx640X360xxx\nxxx360Pxxx\nxxx 360 xxx","remark":"640X360 | 360P | 360","author":"LuckyPuppy514"},{"id":"8622CBF30DE5420690637CCA83C0B941","token":"dynamic_range","priority":1000,"regex":".*\\b((?i)HDR10|HDR|SDR)\\b.*","replacement":"[$1]","offset":0,"example":"xxx HDR10 xxx\nxxx HDR xxx\nxxx SDR xxx","remark":"HDR10 | HDR | SDR","author":"LuckyPuppy514"},{"id":"09DD664F333D4B1683CE1EA75B681F10","token":"bit","priority":1000,"regex":".*\\b((?i)10bit|8bit)s?\\b.*","replacement":"[$1]","offset":0,"example":"xxx 10bit xxx\nxxx 8bit xxx","remark":"10bit | 8bit","author":"LuckyPuppy514"},{"id":"1DEDD0BD47074CCFA048F6BE08B2D15D","token":"quality","priority":1600,"regex":".*((?i)BD.?Rip).*","replacement":"[BDRip]","offset":0,"example":"xxx BDRip xxx\nxxx BD-Rip xxx\nxxx BD-rip xxx","remark":"BDRip | BD-Rip","author":"LuckyPuppy514"},{"id":"38B8F077EF4E4DC799166AD8A25FA3A9","token":"language","priority":2000,"regex":".*\\b(Baha|baha)\\b.*","replacement":"[繁中]","offset":0,"example":"xxx Baha xxx\nxxx baha xxx","remark":"Baha | baha","author":"LuckyPuppy514"},{"id":"74BE48EA58B541BBAA7382E377594975","token":"group","priority":1000,"regex":".*(喵萌奶茶屋&LoliHouse|离谱Sub&DBD-Raws|悠哈璃羽字幕社&LoliHouse|动漫国字幕组&LoliHouse|极影字幕社&ANK-Raws|豌豆字幕组&LoliHouse|SweetSub&LoliHouse).*","replacement":"[-$1]","offset":0,"example":"xxx喵萌奶茶屋&LoliHousexxx\nxxx离谱Sub&DBD-Rawsxxx\nxxx悠哈璃羽字幕社&LoliHousexxx","remark":"喵萌奶茶屋&LoliHouse | 离谱Sub&DBD-Raws | 悠哈璃羽字幕社&LoliHouse ......","author":"LuckyPuppy514"},{"id":"117871426A4044BE977420CCE661EC88","token":"subtitle","priority":1000,"regex":".*(内嵌|内封|外挂).*","replacement":"[$1]","offset":0,"example":"xxx内嵌xxx\nxxx内封xxx\nxxx外挂xxx","remark":"内嵌 | 内封 | 外挂","author":"LuckyPuppy514"},{"id":"34D9195DE802451196F87408F7A8302E","token":"season","priority":1000,"regex":".*第0*(\\d+)季.*","replacement":"S$1","offset":0,"example":"xxx第2季xxx\nxxx第03季xxx","remark":"第2季 | 第02季 ......","author":"LuckyPuppy514"},{"id":"53CAF512D9D54D36B9B5F4EAF0059F4F","token":"season","priority":1200,"regex":".*\\b((?i)S|Season)0*(\\d+)((?i)E\\d+|EP\\d+|Episode\\d+|)\\b.*","replacement":"S$2","offset":0,"example":"xxx S02 xxx\nxxx S02E03 xxx\nxxx s02 xxx\nxxx s02e03 xxx","remark":"S02 | S02E03 | S02EP03 | S02Episode03 ......","author":"LuckyPuppy514"},{"id":"87FC2BE8FBE54D3680639CAFE2204F23","token":"season","priority":1100,"regex":".*(第二季|第贰季).*","replacement":"S2","offset":0,"example":"xxx第二季xxx\nxxx第贰季xxx","remark":"第二季 | 第贰季","author":"LuckyPuppy514"},{"id":"CEDCA54CF4FA4D9B8A860C56E482EBA3","token":"season","priority":1101,"regex":".*(第三季|第叁季).*","replacement":"S3","offset":0,"example":"xxx第三季xxx\nxxx第叁季xxx","remark":"第三季 | 第叁季","author":"LuckyPuppy514"},{"id":"FB8711F9F4F24E7BB191E2EFA8970BFE","token":"season","priority":1102,"regex":".*(第四季|第肆季).*","replacement":"S4","offset":0,"example":"xxx第四季xxx\nxxx第肆季xxx","remark":"第四季 | 第肆季","author":"LuckyPuppy514"},{"id":"A3D37164634F4B33A1F1E0941DC5CFF0","token":"season","priority":1103,"regex":".*(第五季|第伍季).*","replacement":"S5","offset":0,"example":"xxx第五季xxx\nxxx第伍季xxx\nxxx5th Seasonxxx\nxxxⅤxxx\nxxx V xxx","remark":"第五季 | 第伍季","author":"LuckyPuppy514"},{"id":"E84E8520957D4ED798F5F0D473EAD2E0","token":"season","priority":1104,"regex":".*(第六季|第陆季).*","replacement":"S6","offset":0,"example":"xxx第六季xxx\nxxx第陆季xxx","remark":"第六季 | 第陆季","author":"LuckyPuppy514"},{"id":"B1535A31C25F4A42A21EF6C8D590477E","token":"season","priority":1105,"regex":".*(第七季|第柒季).*","replacement":"S7","offset":0,"example":"xxx第七季xxx\nxxx第柒季xxx","remark":"第七季 | 第柒季","author":"LuckyPuppy514"},{"id":"5FFEBF0FFE924263BB28BB13F05E31D8","token":"season","priority":1109,"regex":".*(第一季|第壹季).*","replacement":"S1","offset":0,"example":"xxx第一季xxx\nxxx第壹季xxx","remark":"第一季 | 第壹季","author":"LuckyPuppy514"},{"id":"50221375663F41EE82E48C823A493F1F","token":"original","priority":1000,"regex":"(.+)","replacement":"[$1]","offset":0,"example":"Scream 2022 2160p UHD BluRay x265 10bit DoVi mUHD-FRDS","remark":"保留所有原始信息","author":"LuckyPuppy514"},{"id":"7F5E118009F34213B8BFCBD5589A8F5A","token":"group","priority":1500,"regex":".*(-|@)([a-zA-Z]+)$","replacement":"[-$2]","offset":0,"example":"Isekai Yakkyoku S1EP06-S1EP07 1080p KKTV WEB-DL H264 AAC-Areskyo@PTHWEB\nUnique Lady 2020 S03 WEB-DL 4K H265 10bit AAC-PTerWEB\nLove Between Fairy and Devil 2022 E01-06 1080p WEB-DL H265 AAC-YYDS\nEternal Love 2022 S01 E01-E06 1080p WEB-DL H.264 AAC-OurTV\nLove Like The Galaxy 2022 S1E31-E36 1080p WEB-DL H.264 AAC-JKCT","remark":"@group$ | -group$","author":"LuckyPuppy514"},{"id":"D606BF155E3943559607BE56C40E3990","token":"language","priority":2100,"regex":".+(-|@)(ADWeb|PTHWEB|LeagueWEB|PTerWEB)$","replacement":"[Chinese]","offset":0,"example":"A Record of a Mortal's Journey to Immortality S01 2020 1080p WEB-DL H264 AAC-ADWeb\nMashle S01E01 2023 1080p CR WEB-DL x264 AAC-AnimeS@ADWeb\nIsekai Yakkyoku S1EP06-S1EP07 1080p KKTV WEB-DL H264 AAC-Areskyo@PTHWEB\nCang Lan Jue 2022 S01E01-E06 1080p WEB-DL H265 AAC-LeagueWEB","remark":"ADWeb | PTHWEB | LeagueWEB | PTerWEB","author":"LuckyPuppy514"},{"id":"62FD5691579946F5A651CD000E4CE06D","token":"episode","priority":2000,"regex":".*第0*(\\d+)(集|话|話).*","replacement":"E$1","offset":0,"example":"xxx第015集xxx\nxxx第016话xxx\nxxx第017話xxx","remark":"第01集 | 第01话 | 第01話 ......","author":"LuckyPuppy514"},{"id":"1993DBAD1C654CB1A97B0C6D39A8A17A","token":"episode","priority":2100,"regex":".*\\b((?i)S\\d+|)((?i)E|EP|Episode)0*(\\d+)\\b.*","replacement":"E$3","offset":0,"example":"xxx E03 xxx\nxxx EP03 xxx\nxxx Episode03 xxx\nxxx S02E03 xxx","remark":"E01 | EP01 | Episode01 | S02E01 ......","author":"LuckyPuppy514"},{"id":"3F3A754426CD4D0E923B1A12F6E34871","token":"episode","priority":1100,"regex":".*(\\b|\\d)((?i)E|EP|Episode)0*(\\d+)(-|~)(S\\d+|)((?i)E|EP|Episode|)0*(\\d+)\\b.*","replacement":"E$3-E$7","offset":0,"example":"xxx E01-02 xxx\nxxx E01-E02 xxx\nxxx S02E01-E02 xxx\nxxx S02E01-S02E02 xxx","remark":"E01-02 | E01~E02 | S02E01-E02 | S02E01-S02E02 ......","author":"LuckyPuppy514"},{"id":"1CC25DA511A24C6E9836954C151A5179","token":"episode","priority":1000,"regex":".*第0*(\\d+)[^\\d]0*(\\d+)(集|话|話).*","replacement":"E$1-E$2","offset":0,"example":"xxx第01-02集xxx\nxxx第01~02话xxx\nxxx第01_02话xxx\n","remark":"第01-02集 | 第01~02 话 | 第01_02話 ......","author":"LuckyPuppy514"},{"id":"9805F010DE284C9BB3B547CA45BDAADD","token":"episode","priority":2200,"regex":".*\\[0*(\\d{1,3}|1[0-8]\\d{2})(|(?i)v\\d|_v\\d)(集|话|話|(?i)\\s?END|\\s?Fin|\\((\\d{0,3}|1[0-8]\\d{2})\\)|)]*\\].*","replacement":"E$1","offset":0,"example":"xxx[01]xxx\nxxx[01集]xxx\nxxx[01v2]xxx\nxxx[1899_v2]xxx\nxxx[01(45)]xxx","remark":"[01] | [01集] | [01v2] | [01(45)] | [1899_v2] ......","author":"LuckyPuppy514"},{"id":"E306A2242A0C4951B334D9237382739B","token":"episode","priority":1300,"regex":".*【(TV |)*0*(\\d{1,3}|1[0-8]\\d{2})(-|~)0*(\\d{1,3}|1[0-8]\\d{2})(|(?i)\\s?Fin|\\s?END)】.*","replacement":"E$2-E$4","offset":0,"example":"xxx【01-02】xxx\nxxx【01~02】xxx\nxxx【TV 01-02】xxx\nxxx【TV 01-1899 Fin】xxx","remark":"【01-02】|【01~02】|【TV 01-02】|【TV 01-1899 Fin】......","author":"LuckyPuppy514"},{"id":"703FB6AECEE544C3A376474A689B45BF","token":"episode","priority":2400,"regex":".* 0*(\\d{1,3}|1[0-8]\\d{2})(|v2)( .*|$)","replacement":"E$1","offset":0,"example":"xxx 01 xxx\nxxx 01v2 xxx\nxxx 1899 xxx\n","remark":"01 | 01v2 | 1899 ......","author":"LuckyPuppy514"},{"id":"4D4A6759A13E409DA15A1938328DCD2A","token":"episode","priority":1400,"regex":".*\\b0*(\\d{1,3}|1[0-8]\\d{2})(-|~| ~ )0*(\\d{1,3}|1[0-8]\\d{2})\\b.*","replacement":"E$1-E$3","offset":0,"example":"xxx 01-02 xxx\nxxx 01~02 xxx\nxxx 01-1899 xxx","remark":"01-02 | 01~02 | 01-1899 ......","author":"LuckyPuppy514"},{"id":"016EB2A2B6184CDDBB10468B9036DF60","token":"episode","priority":2500,"regex":".*_0*(\\d{1,3}|1[0-8]\\d{0,2})_.*","replacement":"E$1","offset":0,"example":"Kimetsu_no_Yaiba_-_Katanakaji_no_Sato-hen_01_[1920x1080][Hi10p]\nSword_Art_Online_Alicization_War_of_Underworld_01_[HDTV][720p]","remark":"_01_ | _1899_ ......","author":"LuckyPuppy514"},{"id":"5FAB6211D0BA48D3A77D0215D64BC5A5","token":"episode","priority":999999,"regex":".+","replacement":"","offset":0,"example":"xxxxxx","remark":"unknown = ignore","author":"LuckyPuppy514"},{"id":"62A1C2FF54E64B5B9ACE4C1DA0670F1E","token":"episode","priority":1200,"regex":".*\\[(TV |)*0*(\\d{1,3}|1[0-8]\\d{2})(-|~)0*(\\d{1,3}|1[0-8]\\d{2})(|(?i)\\s?Fin|\\s?END)\\].*","replacement":"E$2-E$4","offset":0,"example":"xxx[01-02]xxx\nxxx[01~02]xxx\nxxx[TV 01-02]xxx\nxxx[TV 01-1899 Fin]xxx\nxxx[TV 01-1899 END]xxx","remark":"[01-02] | [01~02] | [TV 01-02] | [TV 01-1899 Fin] ......","author":"LuckyPuppy514"},{"id":"6FC4770FE7EE495DB77C5DB3B166511A","token":"episode","priority":2300,"regex":".*【0*(\\d{1,3}|1[0-8]\\d{2})(|(?i)v\\d|_v\\d)(集|话|話|(?i)\\s?END|\\s?Fin|\\((\\d{0,3}|1[0-8]\\d{2})\\)|)]*】.*","replacement":"E$1","offset":0,"example":"xxx【01】xxx\nxxx【01话】xxx\nxxx【01(45)】xxx\nxxx【1899_v2】xxx","remark":"【01】|【01集】|【01v2】|【01(45)】|【1899_v2】......","author":"LuckyPuppy514"}]
\ No newline at end of file
+[{"id":"00000000000000000000000000000000","token":"title","priority":999,"regex":".*(\\b|\\s){cleanTitle}(\\b|\\s).*","replacement":"{mainTitle}","offset":0,"example":"","remark":"\uD83D\uDEAB\uD83D\uDEAB\uD83D\uDEAB\uD83D\uDEAB\uD83D\uDEAB","author":"LuckyPuppy514"},{"id":"310B92F87CC247FCA579522DE3E5DF67","token":"season","priority":1106,"regex":".*(第八季|第捌季).*","replacement":"S8","offset":0,"example":"xxx第八季xxx\nxxx第捌季xxx","remark":"第八季 | 第捌季","author":"LuckyPuppy514"},{"id":"E4964E6099B54FC688F3BEFF6D30CA7A","token":"season","priority":1107,"regex":".*(第九季|第玖季).*","replacement":"S9","offset":0,"example":"xxx第九季xxx\nxxx第玖季xxx","remark":"第九季 | 第玖季","author":"LuckyPuppy514"},{"id":"4722BC9AF4854DE3BCD75F2AE8F6F9BD","token":"season","priority":1108,"regex":".*(第十季|第拾季).*","replacement":"S10","offset":0,"example":"xxx第十季xxx\nxxx第拾季xxx","remark":"第十季 | 第拾季","author":"LuckyPuppy514"},{"id":"3AD5D4E8E0A44F15ABAA05E598F70CEB","token":"season","priority":2000,"regex":".*\\b0*(\\d{1,2})( - | )0*(\\d{1,3}|1[0-8]\\d{2})\\b.*","replacement":"S$1","offset":0,"example":"xxx 01 - 01 xxx\nxxx 01 01 xxx\nxxx 99 1899 xxx","remark":"01 - 01 | 01 01 | 99 1899 ......","author":"LuckyPuppy514"},{"id":"D0424165776B45E4927C698E1FE0E856","token":"language","priority":1100,"regex":".*(繁简|简繁|简日|日简|繁日|日繁).*","replacement":"[$1]","offset":0,"example":"xxx繁日xxx\nxxx简日xxx\nxxx繁简xxx\nxxx简繁xxx","remark":"简繁 | 间日 | 繁日","author":"LuckyPuppy514"},{"id":"32F62461B8124572A53602A4B76BE70A","token":"language","priority":1200,"regex":".*(简体|簡體|简中|简|(?i)\\bCHS\\b|\\bGB\\b|GB_CN).*","replacement":"[简中]","offset":0,"example":"xxx简体xxx\nxxx CHS xxx\nxxx簡體xxx\nxxx GB xxx\nxxxGB_CNxxx","remark":"简体 | 簡體 | 简中 | 简 | CHS | GB | GB_CN","author":"LuckyPuppy514"},{"id":"01616775F99C484CBC6BF79A3FBE513E","token":"language","priority":1300,"regex":".*(繁体|繁中|繁|(?i)\\bCHT\\b|zh-TW|zh-HK|zh-SG|\\bBIG5\\b).*","replacement":"[繁中]","offset":0,"example":"xxx繁xxx\nxxx CHT xxx\nxxx cht xxx\nxxxzh-TWxxx\nxxxzh-HKxxx\nxxxzh-SGxxx\nxxx BIG5 xxx","remark":"繁体 | 繁中 | 繁 | CHT | zh-TW | zh-HK | zh-SG | BIG5","author":"LuckyPuppy514"},{"id":"CC8FAC9272334EBDADE2C3BAE33BCBC7","token":"language","priority":1400,"regex":".*(中文|中字|汉语|(?i)Chinese|zh-CN|\\bCHI\\b).*","replacement":"[Chinese]","offset":0,"example":"xxx中文xxx\nxxx汉语xxx\nxxxChinesexxx\nxxxzh-CNxxx\nxxx CHI xxx","remark":"中文 | 中字 | 汉语 | Chinese | zh-CN | CHI","author":"LuckyPuppy514"},{"id":"3D1B02EC745443B9916894D1EEFDF74D","token":"resolution","priority":1100,"regex":".*((?i)1280X720|720P|\\bSD\\b|标清|\\b720\\b).*","replacement":"[720P]","offset":0,"example":"xxx 1280X720 xxx\nxxx 720P xxx\nxxx SD xxx\nxxx 标清 xxx\nxxx 720 xxx\n【幻櫻字幕組】【4月新番】【打工吧!魔王大人_Hataraku Maou-sama】【08】【BIG5_MP4】【1280X720】","remark":"1280X720 | 720P| SD | 标清 | 720","author":"LuckyPuppy514"},{"id":"F0B2B567595B439B9731062453D13D9D","token":"resolution","priority":1000,"regex":".*((?i)1920X1080|1080P|\\bHD\\b|Full-HD|高清|\\b1080\\b|\\b1K\\b).*","replacement":"[1080P]","offset":0,"example":"xxx1920X1080xxx\nxxx1080Pxxx\nxxx HD xxx\nxxx高清xxx\nxxx 1080 xxx\n[BDRip_Full-HD_AVC]\nxxx 1K xxx","remark":"1920X1080 | 1080P | HD | Full-HD | 高清 | 1080 | 1K","author":"LuckyPuppy514"},{"id":"802F223555604889874EE1E918CEEE9F","token":"resolution","priority":1300,"regex":".*((?i)2560X1440|1440P|\\b2K\\b|\\b1440\\b).*","replacement":"[1440P]","offset":0,"example":"xxx 2560X1440 xxx\nxxx 1440P xxx\nxxx 2K xxx\nxxx 1440 xxx","remark":"2560X1440 | 1440P | 2K | 1440","author":"LuckyPuppy514"},{"id":"F0B8685B8BD44A349CD1D71FAD9262E2","token":"resolution","priority":1200,"regex":".*((?i)3840x2160|2160P|\\b4K\\b|\\bUHD\\b|超高清|\\b2160\\b).*","replacement":"[2160P]","offset":0,"example":"xxx3840x2160xxx\nxxx2160Pxxx\nxxx 4K xxx\nxxx UHD xxx\nxxx超高清xxx\nxxx 2160 xxx","remark":"3840x2160 | 2160P| 4K | UHD | 超高清 | 2160","author":"LuckyPuppy514"},{"id":"419DC749C479440185FC8F8E1BDD04EE","token":"quality","priority":2100,"regex":".*\\b((?i)CAM|HDCAM|TELESYNC|TELECINE|HDTS|HDTC)\\b.*","replacement":"[$1]","offset":0,"example":"xxx CAM xxx\nxxx TELESYNC xxx\nxxx TELECINE xxx\nxxx HDTS xxx\nxxx HDCAM xxx","remark":"CAM | HDCAM | TELESYNC | TELECINE | HDTS | HDTC","author":"LuckyPuppy514"},{"id":"E44AD59943A64E3587DAA6E60B236BC7","token":"quality","priority":2000,"regex":".*((?i)\\bSDTV\\b).*","replacement":"[SDTV]","offset":0,"example":"xxx SDTV xxx","remark":"SDTV","author":"LuckyPuppy514"},{"id":"CAA6E3718F284B3E9087D25FCC681BA6","token":"quality","priority":1100,"regex":".*((?i)\\bHDTV\\b).*","replacement":"[HDTV]","offset":0,"example":"xxx HDTV xxx","remark":"HDTV","author":"LuckyPuppy514"},{"id":"B8A66E6AFB5D40EDA74A964ADB560DC9","token":"quality","priority":1000,"regex":".*((?i)\\bWEB.?DL\\b).*","replacement":"[WEBDL]","offset":0,"example":"xxx WEBDL xxx\nxxx WEB-DL xxx","remark":"WEBDL | WEB-DL","author":"LuckyPuppy514"},{"id":"0C4678B2749C496480EA805A5112DE52","token":"quality","priority":1000,"regex":".*((?i)\\bWEB.?RIP\\b).*","replacement":"[WEBRip]","offset":0,"example":"xxx WEBRip xxx\nxxx WEB-Rip xxx","remark":"WEBRip | WEB-Rip","author":"LuckyPuppy514"},{"id":"29D8FC56D1A0462B8D158DEE61A9418C","token":"quality","priority":1400,"regex":".*((?i)\\bRAW.?HD\\b).*","replacement":"[Raw-HD]","offset":0,"example":"xxx RawHD xxx\nxxx Raw-HD xxx","remark":"RawHD | Raw-HD","author":"LuckyPuppy514"},{"id":"52A87D6958E848DFA1441E68143EC00C","token":"quality","priority":1500,"regex":".*((?i)\\bBluray.?Remux\\b).*","replacement":"[Bluray-Remux]","offset":0,"example":"xxx BlurayRemux xxx\nxxx Bluray-Remux xxx","remark":"BlurayRemux | Bluray-Remux","author":"LuckyPuppy514"},{"id":"B8CC5016E5F64040B073E768864A017D","token":"quality","priority":1200,"regex":".*((?i)\\bBlu.?ray\\b).*","replacement":"[Bluray]","offset":0,"example":"xxx Bluray xxx\nxxx Blu-ray xxx","remark":"Bluray | Blu-ray","author":"LuckyPuppy514"},{"id":"7318BF3B11FB414892978952883575E5","token":"quality","priority":1300,"regex":".*((?i)\\bRemux\\b).*","replacement":"[Remux]","offset":0,"example":"xxx Remux xxx","remark":"Remux","author":"LuckyPuppy514"},{"id":"52F4F33130AA4A92A3170E048AAAECE6","token":"group","priority":1300,"regex":"^\\s*\\[([^]]+)\\].+","replacement":"[-$1]","offset":0,"example":"[group] xxx","remark":"[group]","author":"LuckyPuppy514"},{"id":"B13F8B7DBC31454DB5433882BEC6673C","token":"group","priority":1400,"regex":"^\\s*【([^】]+)】.+","replacement":"[-$1]","offset":0,"example":"【group】xxx","remark":"【group】","author":"LuckyPuppy514"},{"id":"ECE3FC67F60647B4BF025476E3BE31A2","token":"group","priority":1200,"regex":".*(\\[|\\(|【|(| )([^\\[\\(【( ]+(字幕组|字幕組|字幕社|发布组|发布組|汉化组|汉化組|压制组|压制組)).*","replacement":"[-$2]","offset":0,"example":"[KRL字幕組] xxxxxxxxxxxxx\n[北宇治字幕组] xxxxxxxxxxxxx\n【北宇治字幕组】 xxxxxxxxxxxxx\nxxxxxxxxxxxxx [悠哈璃羽字幕社] xxxxxxxxxxxxx\n[豌豆字幕组&风之圣殿字幕组] xxxxxxxxxxx\n[爱恋字幕社&波子汽水汉化组] xxxxxxxxxxxxx","remark":"字幕组 | 字幕組 | 字幕社 | 发布组 | 发布組 | 汉化组 | 汉化組 | 压制组 | 压制組","author":"LuckyPuppy514"},{"id":"DED9BE2BB9734B5EBA21CC281AE371C5","token":"group","priority":1100,"regex":".*\\b(PTerWEB|ADWeb|ANi|GM-Team|Lilith-Raws|LoliHouse|MMSUB|NC-Raws|NaN-Raws|OPFans枫雪动漫|OPFans楓雪動漫|PorterRAWS|SickeClipse|Skymoon-Raws|SweetSub|XK SPIRITS|c.c動漫|喵萌Production|喵萌奶茶屋|猎户不鸽压制|猎户随缘压制|神楽坂 まひろ|离谱Sub|Sakurato)\\b.*","replacement":"[-$1]","offset":0,"example":"xxx ANi xxx\nxxx GM-Team xxx\nxxx Lilith-Raws xxx\nxxx OPFans楓雪動漫 xxx","remark":"ANi | GM-Team | Lilith-Raws | LoliHouse ......","author":"LuckyPuppy514"},{"id":"CE743DB48D16408FA81F5941274525F1","token":"season","priority":999999,"regex":".+","replacement":"S1","offset":0,"example":"xxxxxx","remark":"Default = S1","author":"LuckyPuppy514"},{"id":"7E5FCBE09C1742649BA223120CCBBD5E","token":"language","priority":1000,"regex":".*简繁日.*","replacement":"[简繁日]","offset":0,"example":"xxx简繁日xxx","remark":"简繁日","author":"LuckyPuppy514"},{"id":"F2B453DB500D4A0C801B3BDAEDA27BF6","token":"season","priority":999,"regex":".*(死神.*千年血战|死神.*千年血戰).*","replacement":"S2","offset":0,"example":"xxx 死神 千年血战 xxx\nxxx 死神 千年血戰 xxx","remark":"死神 千年血战篇","author":"LuckyPuppy514"},{"id":"9AC7703D6A6149CCADCDB741BD60A2AD","token":"season","priority":1300,"regex":".*\\b([1-9])((?i)(st|nd|rd|th)\\s*Season)\\b.*","replacement":"S$1","offset":0,"example":"xxx 1st Season xxx\nxxx 4th Season xxx","remark":"1st Season | 2nd Season | 9th Season ......","author":"LuckyPuppy514"},{"id":"1E4BC53829E447328EB15E60B5F0529C","token":"season","priority":2109,"regex":".*Ⅰ.*","replacement":"S1","offset":0,"example":"xxxⅠxxx","remark":"Ⅰ","author":"LuckyPuppy514"},{"id":"2D0782716EE741DC970E6C8634EF968A","token":"season","priority":2100,"regex":".*(Ⅱ|\\bII\\b).*","replacement":"S2","offset":0,"example":"xxxⅡxxx\nxxx II xxx","remark":"Ⅱ | II","author":"LuckyPuppy514"},{"id":"8A4CD5A87E0141A6BE3142C709ADD731","token":"season","priority":2101,"regex":".*(Ⅲ|\\bIII\\b).*","replacement":"S3","offset":0,"example":"xxxⅢxxx\nxxx III xxx","remark":"Ⅲ | III","author":"LuckyPuppy514"},{"id":"EAB4B3B2D4C74483A08B7A8C3769E887","token":"season","priority":2102,"regex":".*(Ⅳ|\\bIV\\b).*","replacement":"S4","offset":0,"example":"xxxⅣxxx\nxxx IV xxx","remark":"Ⅳ | IV","author":"LuckyPuppy514"},{"id":"C53964A936794F99BB5F8FE53D715723","token":"season","priority":2103,"regex":".*Ⅴ.*","replacement":"S5","offset":0,"example":"xxxⅤxxx","remark":"Ⅴ","author":"LuckyPuppy514"},{"id":"FDCF7B24E2B044DC9AB2083017247517","token":"season","priority":2104,"regex":".*(Ⅵ|\\bVI\\b).*","replacement":"S6","offset":0,"example":"xxxⅥxxx\nxxx VI xxx","remark":"Ⅵ | VI","author":"LuckyPuppy514"},{"id":"09040C8B0ADF4D74B7506F2D79EA9571","token":"season","priority":2105,"regex":".*(Ⅶ|\\bVII\\b).*","replacement":"S7","offset":0,"example":"xxxⅦxxx\nxxx VII xxx","remark":"Ⅶ | VII","author":"LuckyPuppy514"},{"id":"EC553FA385C5454B9B2DB967EC02067E","token":"season","priority":2106,"regex":".*(Ⅷ|\\bVIII\\b).*","replacement":"S8","offset":0,"example":"xxxⅧxxx\nxxx VIII xxx","remark":"Ⅷ | VIII","author":"LuckyPuppy514"},{"id":"9DA462C04E7C4FFD8C8109DA969C9F09","token":"season","priority":2107,"regex":".*(Ⅸ|\\bIX\\b).*","replacement":"S9","offset":0,"example":"xxxⅨxxx\nxxx IX xxx","remark":"Ⅸ | IX","author":"LuckyPuppy514"},{"id":"D9297421B03C4D43B182ADE8179B3205","token":"season","priority":2108,"regex":".*Ⅹ.*","replacement":"S10","offset":0,"example":"xxxⅩxxx","remark":"Ⅹ","author":"LuckyPuppy514"},{"id":"160235AB3F7B4094842F5436F6F42C8F","token":"resolution","priority":1500,"regex":".*((?i)854X480|480P|\\b480\\b).*","replacement":"[480P]","offset":0,"example":"xxx854X480xxx\nxxx480Pxxx\nxxx480xxx","remark":"854X480 | 480P | 480","author":"LuckyPuppy514"},{"id":"9E79CCEC074A4CAD8AC8DE227E398FFC","token":"resolution","priority":1400,"regex":".*((?i)960X540|540P|\\b540\\b).*","replacement":"[540P]","offset":0,"example":"xxx960X540xxx\nxxx540Pxxx\nxxx 540 xxx","remark":"960X540 | 540P | 540","author":"LuckyPuppy514"},{"id":"64EF964B7ED4422AA67893B652BE0D1D","token":"resolution","priority":1600,"regex":".*((?i)640X360|360P|\\b360\\b).*","replacement":"[360P]","offset":0,"example":"xxx640X360xxx\nxxx360Pxxx\nxxx 360 xxx","remark":"640X360 | 360P | 360","author":"LuckyPuppy514"},{"id":"8622CBF30DE5420690637CCA83C0B941","token":"dynamic_range","priority":1000,"regex":".*\\b((?i)HDR10|HDR|SDR)\\b.*","replacement":"[$1]","offset":0,"example":"xxx HDR10 xxx\nxxx HDR xxx\nxxx SDR xxx","remark":"HDR10 | HDR | SDR","author":"LuckyPuppy514"},{"id":"09DD664F333D4B1683CE1EA75B681F10","token":"bit","priority":1000,"regex":".*\\b((?i)10bit|8bit)s?\\b.*","replacement":"[$1]","offset":0,"example":"xxx 10bit xxx\nxxx 8bit xxx","remark":"10bit | 8bit","author":"LuckyPuppy514"},{"id":"1DEDD0BD47074CCFA048F6BE08B2D15D","token":"quality","priority":1600,"regex":".*((?i)BD.?Rip).*","replacement":"[BDRip]","offset":0,"example":"xxx BDRip xxx\nxxx BD-Rip xxx\nxxx BD-rip xxx","remark":"BDRip | BD-Rip","author":"LuckyPuppy514"},{"id":"38B8F077EF4E4DC799166AD8A25FA3A9","token":"language","priority":2000,"regex":".*\\b(Baha|baha)\\b.*","replacement":"[繁中]","offset":0,"example":"xxx Baha xxx\nxxx baha xxx","remark":"Baha | baha","author":"LuckyPuppy514"},{"id":"74BE48EA58B541BBAA7382E377594975","token":"group","priority":1000,"regex":".*(喵萌奶茶屋&LoliHouse|离谱Sub&DBD-Raws|悠哈璃羽字幕社&LoliHouse|动漫国字幕组&LoliHouse|极影字幕社&ANK-Raws|豌豆字幕组&LoliHouse|SweetSub&LoliHouse).*","replacement":"[-$1]","offset":0,"example":"xxx喵萌奶茶屋&LoliHousexxx\nxxx离谱Sub&DBD-Rawsxxx\nxxx悠哈璃羽字幕社&LoliHousexxx","remark":"喵萌奶茶屋&LoliHouse | 离谱Sub&DBD-Raws | 悠哈璃羽字幕社&LoliHouse ......","author":"LuckyPuppy514"},{"id":"117871426A4044BE977420CCE661EC88","token":"subtitle","priority":1000,"regex":".*(内嵌|内封|外挂).*","replacement":"[$1]","offset":0,"example":"xxx内嵌xxx\nxxx内封xxx\nxxx外挂xxx","remark":"内嵌 | 内封 | 外挂","author":"LuckyPuppy514"},{"id":"34D9195DE802451196F87408F7A8302E","token":"season","priority":1000,"regex":".*第0*(\\d+)季.*","replacement":"S$1","offset":0,"example":"xxx第2季xxx\nxxx第03季xxx","remark":"第2季 | 第02季 ......","author":"LuckyPuppy514"},{"id":"53CAF512D9D54D36B9B5F4EAF0059F4F","token":"season","priority":1200,"regex":".*\\b((?i)S|Season)0*(\\d+)((?i)E\\d+|EP\\d+|Episode\\d+|)\\b.*","replacement":"S$2","offset":0,"example":"xxx S02 xxx\nxxx S02E03 xxx\nxxx s02 xxx\nxxx s02e03 xxx","remark":"S02 | S02E03 | S02EP03 | S02Episode03 ......","author":"LuckyPuppy514"},{"id":"87FC2BE8FBE54D3680639CAFE2204F23","token":"season","priority":1100,"regex":".*(第二季|第贰季).*","replacement":"S2","offset":0,"example":"xxx第二季xxx\nxxx第贰季xxx","remark":"第二季 | 第贰季","author":"LuckyPuppy514"},{"id":"CEDCA54CF4FA4D9B8A860C56E482EBA3","token":"season","priority":1101,"regex":".*(第三季|第叁季).*","replacement":"S3","offset":0,"example":"xxx第三季xxx\nxxx第叁季xxx","remark":"第三季 | 第叁季","author":"LuckyPuppy514"},{"id":"FB8711F9F4F24E7BB191E2EFA8970BFE","token":"season","priority":1102,"regex":".*(第四季|第肆季).*","replacement":"S4","offset":0,"example":"xxx第四季xxx\nxxx第肆季xxx","remark":"第四季 | 第肆季","author":"LuckyPuppy514"},{"id":"A3D37164634F4B33A1F1E0941DC5CFF0","token":"season","priority":1103,"regex":".*(第五季|第伍季).*","replacement":"S5","offset":0,"example":"xxx第五季xxx\nxxx第伍季xxx\nxxx5th Seasonxxx\nxxxⅤxxx\nxxx V xxx","remark":"第五季 | 第伍季","author":"LuckyPuppy514"},{"id":"E84E8520957D4ED798F5F0D473EAD2E0","token":"season","priority":1104,"regex":".*(第六季|第陆季).*","replacement":"S6","offset":0,"example":"xxx第六季xxx\nxxx第陆季xxx","remark":"第六季 | 第陆季","author":"LuckyPuppy514"},{"id":"B1535A31C25F4A42A21EF6C8D590477E","token":"season","priority":1105,"regex":".*(第七季|第柒季).*","replacement":"S7","offset":0,"example":"xxx第七季xxx\nxxx第柒季xxx","remark":"第七季 | 第柒季","author":"LuckyPuppy514"},{"id":"5FFEBF0FFE924263BB28BB13F05E31D8","token":"season","priority":1109,"regex":".*(第一季|第壹季).*","replacement":"S1","offset":0,"example":"xxx第一季xxx\nxxx第壹季xxx","remark":"第一季 | 第壹季","author":"LuckyPuppy514"},{"id":"50221375663F41EE82E48C823A493F1F","token":"original","priority":1000,"regex":"(.+)","replacement":"[$1]","offset":0,"example":"Scream 2022 2160p UHD BluRay x265 10bit DoVi mUHD-FRDS","remark":"保留所有原始信息","author":"LuckyPuppy514"},{"id":"7F5E118009F34213B8BFCBD5589A8F5A","token":"group","priority":1500,"regex":".*(-|@)([a-zA-Z]+)$","replacement":"[-$2]","offset":0,"example":"Isekai Yakkyoku S1EP06-S1EP07 1080p KKTV WEB-DL H264 AAC-Areskyo@PTHWEB\nUnique Lady 2020 S03 WEB-DL 4K H265 10bit AAC-PTerWEB\nLove Between Fairy and Devil 2022 E01-06 1080p WEB-DL H265 AAC-YYDS\nEternal Love 2022 S01 E01-E06 1080p WEB-DL H.264 AAC-OurTV\nLove Like The Galaxy 2022 S1E31-E36 1080p WEB-DL H.264 AAC-JKCT","remark":"@group$ | -group$","author":"LuckyPuppy514"},{"id":"D606BF155E3943559607BE56C40E3990","token":"language","priority":2100,"regex":".+(-|@)(ADWeb|PTHWEB|LeagueWEB|PTerWEB)$","replacement":"[Chinese]","offset":0,"example":"A Record of a Mortal's Journey to Immortality S01 2020 1080p WEB-DL H264 AAC-ADWeb\nMashle S01E01 2023 1080p CR WEB-DL x264 AAC-AnimeS@ADWeb\nIsekai Yakkyoku S1EP06-S1EP07 1080p KKTV WEB-DL H264 AAC-Areskyo@PTHWEB\nCang Lan Jue 2022 S01E01-E06 1080p WEB-DL H265 AAC-LeagueWEB","remark":"ADWeb | PTHWEB | LeagueWEB | PTerWEB","author":"LuckyPuppy514"},{"id":"62FD5691579946F5A651CD000E4CE06D","token":"episode","priority":2000,"regex":".*第0*(\\d+)(集|话|話).*","replacement":"E$1","offset":0,"example":"xxx第015集xxx\nxxx第016话xxx\nxxx第017話xxx","remark":"第01集 | 第01话 | 第01話 ......","author":"LuckyPuppy514"},{"id":"1993DBAD1C654CB1A97B0C6D39A8A17A","token":"episode","priority":2100,"regex":".*\\b((?i)S\\d+|)((?i)E|EP|Episode)0*(\\d+)\\b.*","replacement":"E$3","offset":0,"example":"xxx E03 xxx\nxxx EP03 xxx\nxxx Episode03 xxx\nxxx S02E03 xxx","remark":"E01 | EP01 | Episode01 | S02E01 ......","author":"LuckyPuppy514"},{"id":"3F3A754426CD4D0E923B1A12F6E34871","token":"episode","priority":1100,"regex":".*(\\b|\\d)((?i)E|EP|Episode)0*(\\d+)(-|~)(S\\d+|)((?i)E|EP|Episode|)0*(\\d+)\\b.*","replacement":"E$3-E$7","offset":0,"example":"xxx E01-02 xxx\nxxx E01-E02 xxx\nxxx S02E01-E02 xxx\nxxx S02E01-S02E02 xxx","remark":"E01-02 | E01~E02 | S02E01-E02 | S02E01-S02E02 ......","author":"LuckyPuppy514"},{"id":"1CC25DA511A24C6E9836954C151A5179","token":"episode","priority":1000,"regex":".*第0*(\\d+)[^\\d]0*(\\d+)(集|话|話).*","replacement":"E$1-E$2","offset":0,"example":"xxx第01-02集xxx\nxxx第01~02话xxx\nxxx第01_02话xxx\n","remark":"第01-02集 | 第01~02 话 | 第01_02話 ......","author":"LuckyPuppy514"},{"id":"9805F010DE284C9BB3B547CA45BDAADD","token":"episode","priority":2200,"regex":".*\\[0*(\\d{1,3}|1[0-8]\\d{2})(|(?i)v\\d|_v\\d)(集|话|話|(?i)\\s?END|\\s?Fin|\\((\\d{0,3}|1[0-8]\\d{2})\\)|)]*\\].*","replacement":"E$1","offset":0,"example":"xxx[01]xxx\nxxx[01集]xxx\nxxx[01v2]xxx\nxxx[1899_v2]xxx\nxxx[01(45)]xxx","remark":"[01] | [01集] | [01v2] | [01(45)] | [1899_v2] ......","author":"LuckyPuppy514"},{"id":"E306A2242A0C4951B334D9237382739B","token":"episode","priority":1300,"regex":".*【(TV |)*0*(\\d{1,3}|1[0-8]\\d{2})(-|~)0*(\\d{1,3}|1[0-8]\\d{2})(|(?i)\\s?Fin|\\s?END)】.*","replacement":"E$2-E$4","offset":0,"example":"xxx【01-02】xxx\nxxx【01~02】xxx\nxxx【TV 01-02】xxx\nxxx【TV 01-1899 Fin】xxx","remark":"【01-02】|【01~02】|【TV 01-02】|【TV 01-1899 Fin】......","author":"LuckyPuppy514"},{"id":"703FB6AECEE544C3A376474A689B45BF","token":"episode","priority":2400,"regex":".* 0*(\\d{1,3}|1[0-8]\\d{2})(|v2)( .*|$)","replacement":"E$1","offset":0,"example":"xxx 01 xxx\nxxx 01v2 xxx\nxxx 1899 xxx\n","remark":"01 | 01v2 | 1899 ......","author":"LuckyPuppy514"},{"id":"4D4A6759A13E409DA15A1938328DCD2A","token":"episode","priority":1400,"regex":".*\\b0*(\\d{1,3}|1[0-8]\\d{2})(-|~| ~ )0*(\\d{1,3}|1[0-8]\\d{2})\\b.*","replacement":"E$1-E$3","offset":0,"example":"xxx 01-02 xxx\nxxx 01~02 xxx\nxxx 01-1899 xxx","remark":"01-02 | 01~02 | 01-1899 ......","author":"LuckyPuppy514"},{"id":"016EB2A2B6184CDDBB10468B9036DF60","token":"episode","priority":2500,"regex":".*_0*(\\d{1,3}|1[0-8]\\d{0,2})_.*","replacement":"E$1","offset":0,"example":"Kimetsu_no_Yaiba_-_Katanakaji_no_Sato-hen_01_[1920x1080][Hi10p]\nSword_Art_Online_Alicization_War_of_Underworld_01_[HDTV][720p]","remark":"_01_ | _1899_ ......","author":"LuckyPuppy514"},{"id":"5FAB6211D0BA48D3A77D0215D64BC5A5","token":"episode","priority":999999,"regex":".+","replacement":"","offset":0,"example":"xxxxxx","remark":"unknown = ignore","author":"LuckyPuppy514"},{"id":"62A1C2FF54E64B5B9ACE4C1DA0670F1E","token":"episode","priority":1200,"regex":".*\\[(TV |)*0*(\\d{1,3}|1[0-8]\\d{2})(-|~)0*(\\d{1,3}|1[0-8]\\d{2})(|(?i)\\s?Fin|\\s?END)\\].*","replacement":"E$2-E$4","offset":0,"example":"xxx[01-02]xxx\nxxx[01~02]xxx\nxxx[TV 01-02]xxx\nxxx[TV 01-1899 Fin]xxx\nxxx[TV 01-1899 END]xxx","remark":"[01-02] | [01~02] | [TV 01-02] | [TV 01-1899 Fin] ......","author":"LuckyPuppy514"},{"id":"6FC4770FE7EE495DB77C5DB3B166511A","token":"episode","priority":2300,"regex":".*【0*(\\d{1,3}|1[0-8]\\d{2})(|(?i)v\\d|_v\\d)(集|话|話|(?i)\\s?END|\\s?Fin|\\((\\d{0,3}|1[0-8]\\d{2})\\)|)]*】.*","replacement":"E$1","offset":0,"example":"xxx【01】xxx\nxxx【01话】xxx\nxxx【01(45)】xxx\nxxx【1899_v2】xxx","remark":"【01】|【01集】|【01v2】|【01(45)】|【1899_v2】......","author":"LuckyPuppy514"},{"id":"4908D4EACB8C429DB9A3B80689237846","token":"title","priority":998,"regex":".*\\b((?i)Fear the Walking Dead)\\b.*","replacement":"Fear the Walking Dead","offset":0,"example":"Fear the Walking Dead","remark":"Fear the Walking Dead","author":"LuckyPuppy514"},{"id":"5861E3CA144B4FCB8970F7798FACB362","token":"episode","priority":1500,"regex":".*\\[0*(\\d{1,3}|1[0-8]\\d{2}) (of|OF) \\d+\\].*","replacement":"$1","offset":0,"example":"[07 of 12]\n[07 OF 12]","remark":"[01 of 12] | [07 OF 12]","author":"LuckyPuppy514"},{"id":"C336520E8B0E4D9F8315A745D91E78EC","token":"language","priority":3100,"regex":".*智械尚未危机制作.*异世界一击无双姐姐.*","replacement":"[简中]","offset":0,"example":"【智械尚未危机制作】Isekai One Turn Kill Neesan 异世界一击无双姐姐 ~和姐姐一起开始异世界生活~ - 07 (1920x1080 AVC AAC MKV)","remark":"智械尚未危机制作","author":"LuckyPuppy514"}]
\ No newline at end of file