mirror of
https://github.com/yuaotian/go-cursor-help.git
synced 2026-03-07 14:24:37 +00:00
```
fix(cursor-scripts): 修复正则表达式转义问题提升b6特征匹配准确率
🔧 修复:避免 raw string + 单引号 + ['"] 字符组导致的语法错误;
同时修正正则转义,提升 b6 特征匹配命中率
- 修正 createHash 正则表达式的转义方式,使用三重引号字符串
- 修正 digest 和 return 语句的正则匹配模式
- 移除多余的转义字符,提高正则匹配准确性
```
This commit is contained in:
@@ -1275,8 +1275,9 @@ if True:
|
||||
i += 1
|
||||
return None
|
||||
|
||||
hash_re = re.compile(r'createHash\\([\"\\']sha256[\"\\']\\)')
|
||||
sig_re = re.compile(r'^async function (\\w+)\\((\\w+)\\)')
|
||||
# 🔧 修复:避免 raw string + 单引号 + ['"] 字符组导致的语法错误;同时修正正则转义,提升 b6 特征匹配命中率
|
||||
hash_re = re.compile(r"""createHash\(["']sha256["']\)""")
|
||||
sig_re = re.compile(r'^async function (\w+)\((\w+)\)')
|
||||
|
||||
hash_matches = list(hash_re.finditer(window))
|
||||
diag(f"marker_index={marker_index} window_len={len(window)} sha256_createHash={len(hash_matches)}")
|
||||
@@ -1315,8 +1316,8 @@ if True:
|
||||
name, param = sm.group(1), sm.group(2)
|
||||
|
||||
# 特征校验:sha256 + hex digest + return param ? raw : hash
|
||||
has_digest = re.search(r'\\.digest\\([\"\\']hex[\"\\']\\)', func_text) is not None
|
||||
has_return = re.search(r'return\\s+' + re.escape(param) + r'\\?\\w+:\\w+\\}', func_text) is not None
|
||||
has_digest = re.search(r"""\.digest\(["']hex["']\)""", func_text) is not None
|
||||
has_return = re.search(r'return\s+' + re.escape(param) + r'\?\w+:\w+\}', func_text) is not None
|
||||
if idx <= 3:
|
||||
diag(f"候选#{idx}: {name}({param}) len={len(func_text)} digest={has_digest} return={has_return}")
|
||||
if not has_digest:
|
||||
|
||||
@@ -2002,8 +2002,9 @@ if True:
|
||||
i += 1
|
||||
return None
|
||||
|
||||
hash_re = re.compile(r'createHash\\([\"\\']sha256[\"\\']\\)')
|
||||
sig_re = re.compile(r'^async function (\\w+)\\((\\w+)\\)')
|
||||
# 🔧 修复:避免 raw string + 单引号 + ['"] 字符组导致的语法错误;同时修正正则转义,提升 b6 特征匹配命中率
|
||||
hash_re = re.compile(r"""createHash\(["']sha256["']\)""")
|
||||
sig_re = re.compile(r'^async function (\w+)\((\w+)\)')
|
||||
|
||||
hash_matches = list(hash_re.finditer(window))
|
||||
diag(f"marker_index={marker_index} window_len={len(window)} sha256_createHash={len(hash_matches)}")
|
||||
@@ -2042,8 +2043,8 @@ if True:
|
||||
name, param = sm.group(1), sm.group(2)
|
||||
|
||||
# 特征校验:sha256 + hex digest + return param ? raw : hash
|
||||
has_digest = re.search(r'\\.digest\\([\"\\']hex[\"\\']\\)', func_text) is not None
|
||||
has_return = re.search(r'return\\s+' + re.escape(param) + r'\\?\\w+:\\w+\\}', func_text) is not None
|
||||
has_digest = re.search(r"""\.digest\(["']hex["']\)""", func_text) is not None
|
||||
has_return = re.search(r'return\s+' + re.escape(param) + r'\?\w+:\w+\}', func_text) is not None
|
||||
if idx <= 3:
|
||||
diag(f"候选#{idx}: {name}({param}) len={len(func_text)} digest={has_digest} return={has_return}")
|
||||
if not has_digest:
|
||||
|
||||
Reference in New Issue
Block a user