Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

bug/feature_request(urls): false positives for URLs

未关闭
#3,677 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
python
领域
cli, tooling

调研方向

Start by reproducing the reported false positives with codespell KiraURLs.txt and compare that output with the ignore-regex and uri-regex settings in codespell.cfg. The report does not name implementation files or tests; done means the intended URL handling is clear and the supplied URL examples no longer produce unwanted spellcheck results.

由索引模型根据 Issue 内容生成。

描述

question

Related issues — #676, #2473, #3211.

1. Summary

When I run Codespell for my project, I get 14 false positives for URLs. I’m sure that default Codespell behavior for URLs need corrections.

2. MCVE
2.1. Reproducibility

I reproduced the problem on Ubuntu and Windows.

  1. Ubuntu build on Travis CI
  2. Windows build on AppVeyor CI

[NOTE] I get different behavior for Ubuntu and Windows. By default, for Ubuntu Codespell prints to console a colored output, for Windows — non-colored.

2.2. Files

KiraURLs.txt — the file with false positives from my real project:

https://browsersl.ist/
https://archive.fo/JaBJt
https://magisteria.ru/autor/andrey_vinogradov
https://woerterbuchnetz.de/?sigle=DWB&lemid=U14452
https://www.pucp.edu.pe/profesor/patricia-gonzales-gil
https://zoon.ru/msk/p-doctor/marina_vladimirovna_kuznetsova/
https://persona.rin.ru/view/f/0/25814/kolesov-evgenij-nikolaevich
https://broker.ru/studing/seminar/303
https://www.wirtschaftsdienst.eu/autor/walter-a-s-koch.html
https://web.archive.org/web/20160306044838/https://xpomo.com/ruskolan/tolpa/demagog.htm
https://base.garant.ru/10180093/
https://web.archive.org/web/20210509023444/https://portal.slac.stanford.edu/sites/inc_public/Pages/folder-file-names.aspx
https://portal.slac.stanford.edu/sites/inc_public/Pages/folder-file-names.aspx
https://www.digitalo.cz/dokument/qBhi6rSjJ87tFJ6y/plny-text.pdf#page=102

codespell.cfg:

[codespell]

ignore-regex = https?://[^\s`"<>^\\{|}]+

[NOTE] The uri-regex key with the same value has no effect. It’s a possible bug.

2.3. Commands
codespell --config codespell.cfg KiraURLs.txt
codespell KiraURLs.txt
2.4. Behavior
2.4.1. Expected — my regex

No output. Codespell ignores all URLs.

2.4.2. Non-desired — default Codespell behavior
codespell KiraURLs.txt
KiraURLs.txt:1: ist ==> is, it, its, it's, sit, list
KiraURLs.txt:2: fo ==> of, for, to, do, go
KiraURLs.txt:3: autor ==> author
KiraURLs.txt:4: sigle ==> single, sigil
KiraURLs.txt:5: profesor ==> professor
KiraURLs.txt:6: zoon ==> zoom
KiraURLs.txt:7: rin ==> ring, rink, rind, rain, rein, ruin, grin
KiraURLs.txt:8: studing ==> studying
KiraURLs.txt:9: autor ==> author
KiraURLs.txt:10: demagog ==> demagogue
KiraURLs.txt:11: garant ==> guarantor, guardant
KiraURLs.txt:12: slac ==> slack
KiraURLs.txt:13: slac ==> slack
KiraURLs.txt:14: dokument ==> document
Command exited with code 65

False positives for each line.

3. Regular expression for URLs

For my project I use this regular expression for URLs:

https?://[^\s`"<>^\\{|}]+

Perhaps it will help another users.

3.1. Advantages of my regex
  1. This expression doesn’t match correctly examples of Mathias Bynens, but is sufficient for practical Codespell usage in my case.
  2. It’s simple and shouldn’t slow down Codespell too much.
3.2. Explanation of my regex

It allowed any Unicode symbols in URLs except:

  1. \s — for the Python regular expression syntax \s metacharacter “includes [ \t\n\r\f\v] and also many other characters, for example the non-breaking spaces mandated by typography rules in many languages”.
  2. Another forbidden ASCII characters in URLs.
4. Environment
  1. Operating system:

    1. Local — Microsoft Windows [Version 10.0.22621.3085]
    2. Travis CI — Ubuntu 24.04.2 LTS Noble Numbat
    3. AppVeyor CI — Microsoft Windows [Version 10.0.17763.6189]
  2. Python:

    1. Local — 3.13.2
    2. Travis CI — 3.13.1
    3. AppVeyor CI — 3.12.8
  3. Codespell 2.4.1

Thanks.

主要语言
Python
星标
2.4k
派生
531
平均合并
15 小时 5 分钟
30 天内合并 PR
18

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

codespell-project/codespell 的其他 Issue

查看 codespell-project/codespell 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。