Skip to content

Commit 929d713

Browse files
committed
perf: 优化地区正则匹配
1 parent c6ae908 commit 929d713

4 files changed

Lines changed: 30 additions & 30 deletions

File tree

Config/mihomoConfig.yaml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -515,51 +515,51 @@ proxy-groups:
515515
<<: *group_common_select
516516
include-all: true
517517
proxies: ['香港-自动选择']
518-
filter: '(?=.*(港|🇭🇰|HK|[Hh]ong\s*[Kk]ong))'
518+
filter: '🇭🇰|港|HK|[Hh]ong\s*[Kk]ong'
519519
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Hong_Kong.png'
520520
- name: '香港-自动选择'
521521
<<: *group_common_auto
522-
filter: '(?=.*(港|🇭🇰|HK|[Hh]ong\s*[Kk]ong))'
522+
filter: '🇭🇰|港|HK|[Hh]ong\s*[Kk]ong'
523523

524524
- name: '日本'
525525
<<: *group_common_select
526526
include-all: true
527527
proxies: ['日本-自动选择']
528-
filter: '(?=.*(日本|🇯🇵|JP|[Jj]apan))'
528+
filter: '🇯🇵|日本|JP|[Jj]apan'
529529
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Japan.png'
530530
- name: '日本-自动选择'
531531
<<: *group_common_auto
532-
filter: '(?=.*(日本|🇯🇵|JP|[Jj]apan))'
532+
filter: '🇯🇵|日本|JP|[Jj]apan'
533533

534534
- name: '美国'
535535
<<: *group_common_select
536536
include-all: true
537537
proxies: ['美国-自动选择']
538-
filter: '(?=.*(美|🇺🇸|US|[Aa]merica|[Uu]nited\s*[Ss]tates))'
538+
filter: '🇺🇸|美|US|[Aa]merica|[Uu]nited\s*[Ss]tates'
539539
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/United_States.png'
540540
- name: '美国-自动选择'
541541
<<: *group_common_auto
542-
filter: '(?=.*(美|🇺🇸|US|[Aa]merica|[Uu]nited\s*[Ss]tates))'
542+
filter: '🇺🇸|美|US|[Aa]merica|[Uu]nited\s*[Ss]tates'
543543

544544
- name: '新加坡'
545545
<<: *group_common_select
546546
include-all: true
547547
proxies: ['新加坡-自动选择']
548-
filter: '(?=.*(新加坡|狮城|🇸🇬|SG|[Ss]ingapore))'
548+
filter: '🇸🇬|新加坡|狮城|SG|[Ss]ingapore'
549549
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Singapore.png'
550550
- name: '新加坡-自动选择'
551551
<<: *group_common_auto
552-
filter: '(?=.*(新加坡|狮城|🇸🇬|SG|[Ss]ingapore))'
552+
filter: '🇸🇬|新加坡|狮城|SG|[Ss]ingapore'
553553

554554
- name: '台湾省'
555555
<<: *group_common_select
556556
include-all: true
557557
proxies: ['台湾省-自动选择']
558-
filter: '(?=.*(台湾|🇹🇼|TW|[Tt]ai\s*[Ww]an))'
558+
filter: '🇹🇼|台湾|TW|[Tt]aiwan'
559559
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Taiwan.png'
560560
- name: '台湾省-自动选择'
561561
<<: *group_common_auto
562-
filter: '(?=.*(台湾|🇹🇼|TW|[Tt]ai\s*[Ww]an))'
562+
filter: '🇹🇼|台湾|TW|[Tt]aiwan'
563563

564564
- name: '低倍率节点'
565565
<<: *group_common_select
@@ -570,18 +570,18 @@ proxy-groups:
570570
- name: '高倍率节点'
571571
<<: *group_common_select
572572
include-all: true
573-
filter: '(?:[*×xX✕✖⨉]\s*(?:[2-9]\d*|[1-9]\d+)(?:\.\d+)?)|(?:(?<![\d.])(?:[2-9]\d*|[1-9]\d+)(?:\.\d+)?\s*(?:倍|[*×xX✕✖⨉]))'
573+
filter: '(?u)(?:[*×xX✕✖⨉]\s*(?:[2-9]\d*|[1-9]\d+)(?:\.\d+)?)|(?:(?<![\d.])(?:[2-9]\d*|[1-9]\d+)(?:\.\d+)?\s*(?:倍|[*×xX✕✖⨉]))'
574574
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Airport.png'
575575

576576
- name: '其他节点'
577577
<<: *group_common_select
578578
include-all: true
579579
proxies: ['其他节点-自动选择']
580-
exclude-filter: '(?i)港|HK|🇭🇰|日本|JP|🇯🇵|美|US|🇺🇸|新加坡|SG|🇸🇬|台湾|TW|🇹🇼|直连'
580+
exclude-filter: '港|HK|🇭🇰|日本|JP|🇯🇵|美|US|🇺🇸|新加坡|SG|🇸🇬|台湾|TW|🇹🇼|直连'
581581
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/World_Map.png'
582582
- name: '其他节点-自动选择'
583583
<<: *group_common_auto
584-
exclude-filter: '(?i)港|HK|🇭🇰|日本|JP|🇯🇵|美|US|🇺🇸|新加坡|SG|🇸🇬|台湾|TW|🇹🇼|直连'
584+
exclude-filter: '港|HK|🇭🇰|日本|JP|🇯🇵|美|US|🇺🇸|新加坡|SG|🇸🇬|台湾|TW|🇹🇼|直连'
585585

586586
# --- 路由规则 (Rules) ---
587587
rules:

Script/Script.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,27 @@ const excludeFilter =
2727
const regionDefinitions = [
2828
{
2929
name: '香港',
30-
regex: /🇭🇰||\bhk\b|hong\s*kong/i,
30+
regex: /🇭🇰||HK|[Hh]ong\s*[Kk]ong/,
3131
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Hong_Kong.png',
3232
},
3333
{
3434
name: '日本',
35-
regex: /^(🇯🇵||\bjp\b|japan)(?!.*).*$/i,
35+
regex: /(🇯🇵||JP|[Jj]apan)(?!.*).*$/,
3636
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Japan.png',
3737
},
3838
{
3939
name: '美国',
40-
regex: /🇺🇸||\bus\b|america|united states/i,
40+
regex: /🇺🇸||US|[Aa]merica|[Uu]nited\s*[Ss]tates/,
4141
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/United_States.png',
4242
},
4343
{
4444
name: '新加坡',
45-
regex: /🇸🇬|||\bsg\b|singapore/i,
45+
regex: /🇸🇬|||SG|[Ss]ingapore/,
4646
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Singapore.png',
4747
},
4848
{
4949
name: '低倍率节点',
50-
regex: /^(?!.*(?:|||)).*(?:(?<!\d)0\.[0-5]||)/u,
50+
regex: /^(?!.*(?:|||)).*(?:(?<!\d)0\.[0-5]||)/,
5151
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Available_1.png',
5252
},
5353
{

Script/mihomoScript.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,32 +86,32 @@ const rules = [
8686
const regionDefinitions = [
8787
{
8888
name: '香港',
89-
regex: /🇭🇰||\bhk\b|hong\s*kong/i,
89+
regex: /🇭🇰||HK|[Hh]ong\s*[Kk]ong/,
9090
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Hong_Kong.png',
9191
},
9292
{
9393
name: '日本',
94-
regex: /🇯🇵||\bjp\b|japan/i,
94+
regex: /🇯🇵||JP|[Jj]apan/,
9595
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Japan.png',
9696
},
9797
{
9898
name: '美国',
99-
regex: /🇺🇸||\bus\b|america|united states/i,
99+
regex: /🇺🇸||US|[Aa]merica|[Uu]nited\s*[Ss]tates/,
100100
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/United_States.png',
101101
},
102102
{
103103
name: '新加坡',
104-
regex: /🇸🇬|||\bsg\b|singapore/i,
104+
regex: /🇸🇬|||SG|[Ss]ingapore/,
105105
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Singapore.png',
106106
},
107107
{
108108
name: '台湾省',
109-
regex: /🇹🇼||\btw\b|taiwan/i,
109+
regex: /🇹🇼||TW|[Tt]aiwan/,
110110
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Taiwan.png',
111111
},
112112
{
113113
name: '低倍率节点',
114-
regex: /^(?!.*(?:|||)).*(?:(?<!\d)0\.[0-5]||)/u,
114+
regex: /^(?!.*(?:|||)).*(?:(?<!\d)0\.[0-5]||)/,
115115
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Available_1.png',
116116
},
117117
{

src/config/regionDefinitions.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,32 @@
22
const regionDefinitions = [
33
{
44
name: '香港',
5-
regex: /🇭🇰||\bhk\b|hong\s*kong/i,
5+
regex: /🇭🇰||HK|[Hh]ong\s*[Kk]ong/,
66
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Hong_Kong.png',
77
},
88
{
99
name: '日本',
10-
regex: /🇯🇵||\bjp\b|japan/i,
10+
regex: /🇯🇵||JP|[Jj]apan/,
1111
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Japan.png',
1212
},
1313
{
1414
name: '美国',
15-
regex: /🇺🇸||\bus\b|america|united states/i,
15+
regex: /🇺🇸||US|[Aa]merica|[Uu]nited\s*[Ss]tates/,
1616
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/United_States.png',
1717
},
1818
{
1919
name: '新加坡',
20-
regex: /🇸🇬|||\bsg\b|singapore/i,
20+
regex: /🇸🇬|||SG|[Ss]ingapore/,
2121
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Singapore.png',
2222
},
2323
{
2424
name: '台湾省',
25-
regex: /🇹🇼||\btw\b|taiwan/i,
25+
regex: /🇹🇼||TW|[Tt]aiwan/,
2626
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Taiwan.png',
2727
},
2828
{
2929
name: '低倍率节点',
30-
regex: /^(?!.*(?:|||)).*(?:(?<!\d)0\.[0-5]||)/u,
30+
regex: /^(?!.*(?:|||)).*(?:(?<!\d)0\.[0-5]||)/,
3131
icon: 'https://fastly.jsdelivr.net/gh/Koolson/Qure@master/IconSet/Color/Available_1.png',
3232
},
3333
{

0 commit comments

Comments
 (0)