首页
关于
资源分享
Search
1
Typecho主题
25 阅读
2
Bolo-Solo
8 阅读
3
优秀的开源项目
6 阅读
4
2025-11-21
6 阅读
5
Telegram群组、频道和机器人汇总大全 | 福利资源分享交流群 | 持续更新 - 一灯不是和尚
6 阅读
默认分类
资源分享
登录
Search
标签搜索
资源分享
Typecho
累计撰写
59
篇文章
累计收到
1
条评论
首页
栏目
默认分类
资源分享
页面
关于
资源分享
搜索到
59
篇与
的结果
2026-01-16
RegexOne 中文 通过简单的交互式练习来学习正则表达式
RegexOne 中文 - 通过简单的交互式练习来学习正则表达式RegexOne 中文 - 通过简单的交互式练习来学习正则表达式https://imageslr.github.io/regexone-cn/课程 1:简介和字母 ABCs正则表达式 (regular expressions) 是一个非常有用的工具,可以从诸如代码、日志文件、电子表格或文档等文本中提取信息。虽然规范的语言背后有许多理论,但后续的课程和例子将探索正则表达式的更实际的用法,以便您能够尽快使用这个工具。在使用正则表达式时要认识到的第一件事是:所有东西本质上都是字符,我们正在编写模式 (pattern) 来匹配特定的字符序列(也称为字符串)。大多数模式使用普通的 ASCII 字符,包括字母、数字、标点符号和键盘上的其他符号,如 %#$@!,但是也可以使用 unicode 字符来匹配任何类型的国际文本。下面是几行文本,当您在输入框中输入模式时,请注意每行的匹配字符是如何变化的。要继续下一课,您需要使用每个课程中介绍的新的语法 (syntax) 和概念,写出能够匹配给定的每行文本的模式。请尝试写一个能够匹配下面三行的模式,很简单,找出每行的共同字母。练习 1:匹配字母TaskTextResultmatchabcdefgSuccessmatchabcdeSuccessmatchabcSuccess输入前三个字符 abc。[](https://imageslr.github.io/regexone-cn/lesson/letters_and_digits.html#课程-11⁄2-数字-123s)课程 1½:数字 123s字符包括普通的字母,也包括数字。事实上,数字 0-9 也是字符,如果您查看 ASCII表 (opens new window),会发现它们是按顺序列出的。在整个课程中,我们将会学习正则表达式中的一系列特殊元字符 (metacharacter),这些元字符可用于匹配特定类型的字符。比如,字符 \d 可以用来代替从 0 到 9 的任意数字。前面的斜杠与简单的 d 区分,表示它是元字符。下面是另外几行包含数字的文本。尝试编写模式来匹配下面字符串中的所有数字,并注意您的模式是如何匹配字符串中的任意位置的,而不仅仅是从第一个字符开始。我们将在后续的课程中学习如何控制它。练习 1½:匹配数字TaskTextResultmatchabc123xyz matchdefine "123" matchvar g = 123; 输入所有行共有的数字 123。课程 2:点 Dot在一些纸牌游戏中,小丑是一个百搭牌 (wildcard),可以代表桥牌中的任意一张牌。在使用正则表达式的时候,我们经常需要匹配一串不知道具体内容的、但是共享相同模式或结构的文本,例如电话号码或邮政编码。类似于纸牌游戏,正则表达式中也有通配符 (wildcard) 的概念,由元字符 . (点) 来表示,可以匹配任意单个字符 (字母、数字、空格等等)。您可能会注意到,这包含了句点字符的匹配。因此,如果想专门匹配一个句点,我们需要使用斜杠来转义,也就是 \.。下面是一些字符不同但长度相同的字符串。尝试编写一个可以匹配前三个字符串、但不能匹配最后一个 (要跳过的) 的模式。您可能会发现必须转义元字符 . 以匹配某些行中的句点。练习 2:使用通配符TaskTextResultmatchcat. match896. match?=+. skipabc1 您可以使用 .... 来匹配前三个 (通配) 字符,同时转义最后一个通配符元字符来匹配到句点。这保证了它不会匹配到第四行的 '1'。课程 3:匹配特定字符上节课的点元字符非常强大,但有时太强大了。比如我们匹配电话号码时,并不希望将字母"(abc) def-ghij"视作一个有效的号码。有一种方法可以在正则表达式中匹配特定字符,方法是在方括号 (square brackets) 中定义它们。比如,模式 [abc] 将只匹配单个字母 a、b 或者 c,其他什么也不匹配。下面几行字符串中,我们只想匹配前三个而不匹配后三个。请注意,如果使用点元字符,我们就无法避免匹配后三个字符串。因此,必须使用上面的方法来明确声明要匹配的字母。练习 3:匹配特定字符TaskTextResultmatchcan matchman matchfan skipdan skipran skippan 您可以使用表达式 [cmf]an 来只匹配 'can'、'man' 和 'fan',而不匹配任何其他行。正如您将在下一课中看到的,您也可以使用逆表达式 (inverse expression) 1an 来匹配任意以 'an' 结尾、但不以 'd'、'r' 或 'p' 开头的三个字母的单词。课程 4:排除特定字符在某些情况下,我们可能不想匹配某些特定的字符,例如,我们可能只想匹配不是来自区号 650 的电话号码。为了表示这一点,我们使用方括号和 ^ (hat) 组成的表达式来排除特定字符。例如,模式 [^abc] 将匹配除了字母 a、b 或 c 以外的任意单个字符。在下面的字符串中,尝试写一个只匹配动物 (猪 hog、狗 dog,而不是沼泽 bog) 的模式。请注意,我们也可以使用上一课的技巧来编写模式,因为它们实际上是同一问题的两个方面。在编写模式时,您可以自己决定使用哪种方式更容易编写和理解。练习 4:排除字符TaskTextResultmatchhog matchdog skipbog 匹配以 "og" 结尾但不是 "bog" 的最简单的方法是表达式 2og。或者,您也可以使用上一课学到的知识,使用 [hd]og 来只匹配 "hog" 和 "dog"。注意,后者是一个更严格的表达式,因为它限制了可以匹配的字符串。课程 5:字符范围我们刚刚学习了如何创建一个匹配或排除特定字符的模式——但是如果我们想匹配一个连续范围内的字符呢?我们只能把它们全部列出来吗?幸运的是,在使用方括号表示法时,有一种速记方法,可以通过使用破折号来表示字符范围,从而匹配到连续范围内的字符。例如,模式 [0-6] 将只匹配从 0 到 6 的任意单个数字字符。同样的,[^n-p] 将只匹配字母 n 到 p 以外的任何单个字符。同一组方括号中还可以使用多个字符范围,以及单个字符。例如字母数字 (alphanumeric) 元字符 \w,它相当于字符范围 [A-Za-z0-9_],通常用于匹配英文文本中的字符。在下面的练习中,请注意所有匹配行和跳过行共有的模式,并使用方括号表示法来匹配或跳过每行中的每个字符。请注意,模式是区分大小写的,并且 a-z 与 A-Z 在匹配的字符方面是不同的(小写 vs 大写)。练习 5:匹配字符范围TaskTextResultmatchAna matchBob matchCpc skipaax skipbby skipccz 从上到下,每个位置的字符都是连续的,因此可以使用 A-C[a-c] 中的不同范围来只匹配前三行。课程 6:匹配重复字符注意:有的正则表达式实现不支持下文重复语法的某些部分。到目前为止,我们已经学习了如何指定要匹配的字符的范围,但是如何指定要匹配的字符的重复次数呢?一种方法是明确写出我们想要匹配多少个字符,例如 \d\d\d,它正好匹配三个数字。更方便的方法是使用花括号表示法指定每个字符的重复次数。例如,a{3} 将匹配字符 a 正好三次。某些正则表达式引擎甚至允许您指定重复次数的范围,例如,a{1,3} 将匹配字符 a 至多 3 次,至少 1 次。这个量词 (quantifier) 可以与任意字符或特殊的元字符一起使用,例如 w{3} (三个 w)、[wxy]{5} (五个字符,每个字符可以是 w、x 或 y) 和 .{2,6} (两到六个任意字符)。译者注花括号中的最大重复次数也可以省略:{n,} 表示重复至少 n 次,至多无限制。在下面的几行中,最后一个只有一个 z 的字符串并不是俚语 "wazzup" 的正确拼写。尝试使用上面的花括号符号来编写一个只匹配前两个拼写的模式。练习 6:匹配重复字符TaskTextResultmatchwazzzzzup matchwazzzup skipwazup 在我们必须匹配的前两行中有多个 'z',因此表达式 waz{3,5}up 将匹配所有包含这些个 'z' 的字符串。进阶课程:A4:贪婪 vs 懒惰课程 7:Kleene 操作符正则表达式中一个强大的概念是能够匹配任意数量的字符。例如,假设您编写了一个表单,其中有一个以美元为单位的捐赠字段。一个富有的用户可能会顺道来,想捐 25000 美元,而一个普通用户可能想捐 25 美元。表达这种模式的一种方法是使用克莱尼星号 (Kleene Star) 和克莱尼加号 (Kleene Plus),分别表示 0 个或更多个、1 个或更多个它所跟随的字符 (或组)。例如,为了匹配上面的捐赠金额,我们可以使用模式 \d\* 来匹配任意数量的数字,但是更严格的正则表达式是 \d+,它确保输入的字符串至少有一个数字。这些量词 (quantifiers) 可以与任意字符或特殊的元字符一起使用,例如 a+ (一个或多个 a)、[abc]+ (一个或多个字符 a、b 或 c) 和 .\* (零个或多个任意字符)。下面是几个简单的字符串,您可以使用星号和加号元字符来匹配它们。练习 7:匹配重复字符TaskTextResultmatchaaaabcc matchaabbbbc matchaacc skipa 要匹配的字符串中,有至少两个 'a'、0 个或多个 'b'、至少一个 'c',因此可以使用表达式 aa+b*c+ 来表示。或者,一个限制性更强的表达式是 a{2,4}b{0,4}c{1,2},它为每个字符的数量都设置了一个上限和下限。课程 8:可选字符正如您在上一课中看到的,Kleene star 和 plus 允许我们匹配一行中的重复字符。另一个在匹配和提取文本时非常常见的量词 (quantifier) 是 ? (问号) 元字符,表示可选性。这个元字符允许您匹配前面的零个或一个字符或组。例如,模式 ab?c 将匹配字符串 "abc" 或 "ac",因为 b 被认为是可选的。与点元字符类似,问号是一个特殊字符,您必须使用斜杠 \? 匹配字符串中的普通问号字符。在下面的字符串中,请注意找到的文件数是如何决定单词 "file" 的复数形式的。尝试编写一个模式,使用元字符 ? 来匹配找到一个或多个文件的行。练习 8:匹配可选字符TaskTextResultmatch1 file found? match2 files found? match24 files found? skipNo files found. 我们可以使用元字符 '\d' 来匹配文件的数量,并使用表达式 \d+ files? found? 来匹配找到文件的所有行。请注意,第一个问号用于前面的 "s" 字符 (表示复数),最后的问号必须转义以匹配文本。课程 9:空白字符在处理真实世界的输入时,例如日志文件或者用户输入,很难不遇到空白符 (whitespace)。我们使用它来格式化信息片段,使其更直观、易于阅读。但是一个空格却破坏了最简单的正则表达式。正则表达式中最常见的空白符的形式有空格 (␣)、制表符 (\t)、换行 (\n) 和回车 (\r) (在 Windows 环境中很有用)。这些特殊字符匹配的空白符各不相同,但特殊字符 \s 能够匹配上面的任意空白符,这在处理原始输入文本时非常有用。在下面的字符串中,您会发现每一行的内容都会在标号后面用一些空白符缩进 (标号也是要匹配的文本的一部分)。请尝试编写一个模式,该模式可以匹配在标号和内容之间包含空白字符的每一行。注意,空白字符和其他字符一样,也可以使用特殊的元字符,如星号和加号。练习 9:匹配空白符TaskTextResultmatch1. abc match2. abc match3. abc skip4.abc 我们要匹配的是标号和 "abc" 之间有空格的行,也就是前三行。我们可以使用表达式 \d.\s+abc 来匹配数字、实际句点 (必须转义)、一个或多个空白符,然后匹配文本。如果我们用 * 代替 +,我们也会匹配到第四行,但实际上我们想跳过它。课程 10:开始与结束到目前为止,我们编写的正则表达式会在所有文本中匹配部分片段。有时这是不符合预期的,例如,我们想要在日志文件中匹配单词 "success"。我们当然不希望该模式与 "Error: unsuccessful operation!" 匹配。这就是为什么最好的做法是编写尽可能特定的正则表达式,以确保在与真实文本匹配时不会出现误报。使模式更严格的一种方法是使用特殊的元字符 ^ (hat) 和 $ (美元符号) 来描述一行的开始和结束。在上面的例子中,我们可以使用模式 ^success 来只匹配以单词 "success" 开头的行,而不匹配 "Error: unsuccessful operation"。如果我们把 ^ 和 $ 结合起来,就能实现一个匹配从开头到结尾一整行的模式。请注意,^ 和方括号 [^...] 中用于排除字符的 hat 不同,这在读取正则表达式时容易混淆。尝试使用这些新的特殊字符来匹配下面的第一个字符串。练习 10:匹配行TaskTextResultmatchMission: successful skipLast Mission: unsuccessful skipNext Mission: successful upon capture of target 表达式 "Mission:successful" 会匹配文本中的任何位置,因此我们需要在表达式 ^Mission: successful$ 中使用开始和结束锚点,以便只匹配以 "Mission" 开头并以 "successful" 结尾的完整字符串。课程 11:捕获组正则表达式不仅允许我们匹配文本,还允许我们提取信息以便进一步处理。这是通过定义字符组 (groups of characters) 并使用特殊的圆括号 ( 和 ) 元字符捕获它们来实现的。一对括号内的任何子模式 (subpattern) 都将被捕获 (capture) 为一个组 (group)。实际上,它可以用来从各种数据中提取诸如电话号码或电子邮件之类的信息。例如,假设您有一个命令行工具来列出云中的所有图像文件,您可以使用 ^(IMG\d+\.png)$ 等模式来捕获和提取完整的文件名。但如果只想捕获不带扩展名的文件名,您可以使用模式 ^(IMG\d+)\.png$,该模式只捕获句点之前的部分。尝试使用圆括号来编写一个正则表达式,匹配下面 PDF 文件的文件名 (不包括扩展名)。练习 11:捕获组TaskTextCapture GroupsResultcapturefile_record_transcript.pdffile_record_transcript capturefile_07241999.pdffile_07241999 skiptestfile_fake.pdf.tmp 我们只想捕获以 "file" 开始并具有文件扩展名 ".pdf" 的行,因此我们可以编写一个简单的模式来捕获从开头的 "file" 到扩展名之间的所有内容,比如 ^(file.+).pdf$。课程 12:嵌套组在处理复杂数据时,您经常会发现自己必须提取多层次的信息,这时就需要使用嵌套组 (nested groups)。通常,结果中的捕获组是按照它们被定义的顺序 (按开括号的顺序) 排列的。以上一课中 "捕获所有图像文件的文件名" 为例。如果每个图像文件的文件名中都有一个连续的图片编号,我们可以通过编写 ^(IMG(\d+))\.png$ 之类的表达式 (使用嵌套的括号来捕获数字),使用同一个模式同时提取文件名和图片编号。在模式中,嵌套组按照从左到右的左括号出现的顺序定义,第一个捕获组是第一个括号里的内容,以此类推。捕获的结果也按照这个顺序排列。对于以下字符串,编写一个表达式,该表达式匹配并捕获完整日期和日期年份。练习 12:匹配嵌套组TaskTextCapture GroupsResultcaptureJan 1987Jan 19871987 captureMay 1969May 19691969 captureAug 2011Aug 20112011 这个表达式需要捕获两部分数据,即年份和整个日期。这需要使用嵌套的捕获组,如表达式 (\w+ (\d+)) 所示。我们也可以使用 \s+ 来代替空格,以捕获月份和年份之间任意数量的空格。课程 13:关于分组的更多内容正如您在前面的课程中看到的,所有的量词 (quantifiers) ——包括星号 \*、加号 +、重复 {m,n} 和问号 ? ——都可以在捕获组模式中使用。捕获组也是将量词应用于字符序列而不是单个字符的唯一方法。例如,如果我们知道一个电话号码可能包含区号,也可能不包含区号,那么正确的模式是测试整个数字组是否存在 (\d{3})?,而不是测试单个字符本身 (这是错误的)。根据您使用的正则表达式引擎,您还可以使用非捕获组 (non-capturing groups),这将允许您匹配该组,但不会让它显示在结果中。下面是几种常见的显示器分辨率,请尝试捕获每个显示器的宽度和高度。练习 13:匹配捕获组TaskTextCapture GroupsResultcapture1280x7201280720 capture1920x160019201600 capture1024x7681024768 这个很简单,我们只需要捕获两组数字:(\d+)x(\d+)。课程 14:条件正如我们前面提到的,更准确总是好的,这适用于编码、对话、以及正则表达式。例如,您不会写一份购物清单让别人买更多的 .* (Buy more .*),因为您不知道您能得到什么。相反,您可以写买更多的牛奶 (Buy more milk) 或买更多的面包 (Buy more bread)。在正则表达式中,我们可以明确地定义这些条件 (conditionals)。我们可以使用 | (逻辑或 locigal OR,也就是管道 pipe) 来表示可能的不同的字符集,尤其是在使用组的时候。在上面的示例中,我们可以编写模式 Buy more (milk|bread|juice) 来匹配字符串 Buy more milk、Buy more bread 或 Buy more juice。与正常的组一样,您可以在条件 (condition) 中使用任何字符或元字符序列,例如,([cb]ats*|[dh]ogs?) 将要么匹配 cats 或 bats,要么匹配 dogs 或 hogs。编写具有许多条件的模式可能很难阅读,因此如果它们太复杂,您应该考虑将它们拆分为单独的模式。继续尝试写一个条件模式 (conditional pattern),只匹配下面包含小动物的行。练习 14:匹配条件文本TaskTextResultmatchI love cats matchI love dogs skipI love logs skipI love cogs 通过使用逻辑或,我们可以使用表达式 I love (cats|dogs) 来匹配前两行。课程 15:其他元字符这一小节将介绍一些其他的元字符,以及捕获组的结果。我们已经学习了最常见的元字符:数字 \d、空白符 \s、字母和数字 \w,但是正则表达式还提供了一种捕获每个元字符的相反集合的方法,即使用大写字母。例如,\D 表示任何非数字字符,\S 表示任何非空白字符,\W 表示任何非字母或数字字符 (如标点符号)。灵活使用这些元字符,会使编写正则表达式更容易此外,还有一个特殊的元字符 \b,它匹配单词和非单词字符之间的边界。它在捕获整个单词时最有用,例如模式 \w+\b。在这些课程中,我们不会详细探讨的一个概念是反向引用 (back referencing) (译者注:见反向引用),这主要是因为它在不同的实现里有所区别。但是,许多系统都允许您通过使用 \0 (通常是完全匹配的文本)、\1 (组 1)、\2 (组 2) 等来引用捕获的组。这在某些情况下很有用,举个例子,当您需要使用正则表达式搜索文本中的两个数字并交换它们的位置时,可以先使用模式 (\d+)-(\d+) 来搜索,再使用 \2-\1 来替换。下面是一段 JavaScript 代码示例:"123-456".replace( /(\d+)-(\d+)/, // searchValue "$2-$1" // replaceValue, $1、$2 等价于上文的 \1、\2 ) // Output => "456-123"下面是一些不同的字符串,请尝试练习我们在前面的课程中学到的各种类型的元字符,并观察它们所匹配到的内容。练习 15:匹配其他特殊字符TaskTextResultmatchThe quick brown fox jumps over the lazy dog. matchThere were 614 instances of students getting 90.0% or above. matchThe FCC had to censor the network for saying &$#*@!. 这节课的练习更像是一个沙盒,提供了一些示例文本。最简单的答案可以是 .* :)译者注:试试看 \w+\b,3+课程 X:无限与超越!恭喜你完成了所有课程!我们希望它们能让你对正则表达式有更多的经验。正则表达式中还有一些我们还没有研究过的主题,比如反向引用、贪婪表达式与非贪婪表达式、posix 表示法等等。我们将在以后的课程中详细描述这些内容。这里是一些有用的正则表达式学习资源:正则表达式 30 分钟入门 (opens new window)正则表达式状态图可视化工具 (opens new window)在线正则表达式测试工具 (opens new window)如果您对如何改进网站有任何疑问或建议,请随时通过 Github Issue (opens new window) 或电子邮件 (elonzzz@163.com) 联系!现在,请继续练习后续的问题,学习如何将正则表达式应用到实际场景中。 ← 课程 15:其他元字符 资源正则表达式在线测试:https://regex101.com正则表达式可视化工具:https://regexper.comhttps://jex.im/regulex*%3F%24)https://blog.robertelder.org/regular-expression-visualizer 问题 1:匹配十进制数字乍一看,写一个正则表达式来匹配一个数字应该很容易吧?我们可以用特殊字符 \d 来匹配任何数字,唯一要做的就是匹配小数点。真的是这样吗?对于简单的数字来说,这没有问题,但是对于科学或金融数字来说,我们经常需要处理正数和负数、有效数字、指数,甚至不同的表示法 (比如用来分隔千和百万的逗号)。下面是您可能遇到的几种不同格式的数字。请注意您是如何匹配小数点本身的。如果无法顺利跳过最后一个数字,请观察该数字和其他数字的末尾的区别。练习 1:匹配数字TaskTextResultmatch3.14529 match-255.34 match128 match1.9e10 match123,340.00 skip720p 当我们考虑金融数字、指数等形式时,表达式可能相当复杂。对于上面的例子,表达式 ^-?\d+(,\d+)*(.\d+(e\d+)?)?$ 可以匹配这样的字符串:以一个可选的负号开头、一位或几位数字、可选的逗号和更多位数字、可选的小数点与小数数字、可选的指数部分。这不是唯一的解决方案,比如表达式 ^-?((\d+,)+)?\d.?\d(e\d+)?$ 也可以匹配这些数字。(译者注) 让我们尝试一步步解决这个问题:匹配一个可能是负数的整数:^-?\d+匹配小数:^-?\d+(.\d+)?整数部分可能使用了千位分隔符:^-?\d+(,\d+)*(.\d+)?匹配科学计数法:^-?\d+(,\d+)*(.\d+)?(e\d+)?$问题 2:匹配电话号码验证电话号码是另一项棘手的任务。有的电话号码需要区号,有的国际号码还需要前缀,这都增加了正则表达式的复杂性。此外,人们输入电话号码时的偏好也不同 (例如,有些人会输入破折号或空格,而有些人不输入)。下面是一些真实场景下可能遇到的电话号码,请编写一个与号码匹配的正则表达式,并捕获正确的区号。练习 2:匹配电话号码TaskTextCapture GroupsResultcapture415-555-1234415Successcapture650-555-2345650Successcapture(416)555-3456416Successcapture202 555 4567202Successcapture4035555678403Successcapture1 416 555 9292416Success观察可以发现,电话号码由 3、3、4 位数字组成,每部分之间可以用空格或破折号连接,前三位数字是区号。因此,为了获取电话号码的区号,最简单的方法是使用表达式 (\d{3}) 捕获前三位数字。为了同时匹配到整个电话号码,我们可以使用表达式 1?[\s-]?(?(\d{3}))?[\s-]?\d{3}[\s-]?\d{4}。解释如下:匹配可能存在的国家号:1?[\s-]?匹配可能被括号包住的区号:(?(\d{3}))?,注意这里外层的括号是转义后的字符,内层的括号表示捕获组匹配后续的 3 位、4 位号码:[\s-]?\d{3}[\s-]?\d{4}[\s-]? 表示可能通过破折号或空格连接,也可能没有连接符问题 3:匹配邮箱正则表达式在验证 HTML 表单的输入时通常很有用。由于规范 (opens new window)的复杂性,电子邮件很难正确匹配,因此我建议使用内置语言或框架函数,而不是自己处理。但是,您依然可以使用我们迄今所学的知识,非常轻松地创建一个相当健壮的正则表达式,它能够匹配大量常见的电子邮件。需要注意的一点是,许多人使用一次性的 加号地址 (opens new window)(plus-addressing),例如 "name+filter@gmail.com",邮件还是会发送到 "name@gmail.com",但是可以作一些过滤操作。此外,有些域名有不止一个部分,例如,您可以在 "hellokitty.hk.com" 注册域名,并使用一个形如 "ilove@hellokitty.hk.com" 的邮箱,因此在匹配电子邮件的域名部分时必须小心。下面是一些常见的电子邮箱,请尝试捕获电子邮件的名称,不包括筛选器 (+ 字符和之后) 和域 (@ 字符和之后) 部分。练习 3:匹配邮箱TaskTextCapture GroupsResultcapturetom@hogwarts.comtom capturetom.riddle@hogwarts.comtom.riddle capturetom.riddle+regexone@hogwarts.comtom.riddle capturetom@hogwarts.eu.comtom capturepotter@hogwarts.compotter captureharry@hogwarts.comharry capturehermione+regexone@hogwarts.comhermione 要提取每封电子邮件的开头,我们可以使用一个简单的表达式 ^([\w.]*),它将匹配以字母数字字符 (包括句点) 开头的电子邮件,直到遇到 "@" 或 "+"。再次强调,您应该使用一个框架来匹配电子邮件!问题 4:匹配 HTML如果您正在寻找一种健壮的方法来解析 HTML,正则表达式通常不是好的解决方案,因为现在互联网上的 HTML 页面非常脆弱 —— 常见的错误如缺少结束标签、标签不匹配、属性引号没有关闭等,都会使一个非常好的正则表达式无法使用。相反,您可以使用像 Beautiful Soup (opens new window)、html5lib (opens new window) (都是 Python) 或 phpQuery (opens new window) (PHP) 这样的库,它们不仅可以解析 HTML,还可以让您快速、轻松地访问 DOM。尽管如此,您可能经常需要在编辑器中快速匹配标签和标签的内容。如果您可以保证输入规范,正则表达式就是一个很好的工具。继续为下面的示例编写正则表达式来捕获外层标签,请注意属性中的转义引号和嵌套的标签。练习 4:匹配 HTML 标签TaskTextCapture GroupsResultcaptureThis is a linkaSuccesscaptureLinkaSuccesscaptureTestdivSuccesscaptureHello worlddivSuccess最佳做法是使用合适的库来解析 html,但如果只是查找简单地标签名,可以使用表达式 <(\w+)。还可以使用表达式 >([\w\s])< 捕获标签内容,甚至可以捕获属性值 ='([\w://.])。问题 5:匹配特定文件名如果您经常使用 Linux 或命令行,往往会需要处理文件列表。大多数文件都由一个文件名和一个扩展名组成,但在 Linux 中,隐藏的文件没有文件名也是很常见的。在下面这个简单的示例中,请提取出图像文件的文件名和扩展名 (不包括当前正在编辑的图像的临时文件 .tmp)。图像文件定义为 .jpg、.png 和 .gif。练习 5:捕获文件名TaskTextCapture GroupsResultskip.bash_profile skipworkspace.doc captureimg0912.jpgimg0912jpgFailedcaptureupdated_img0912.pngupdated_img0912pngFailedskipdocumentation.html capturefavicon.giffavicongifFailedskipimg0912.jpg.tmp Failedskipaccess.lock 我们只查找以 "jpg"、"png" 和 "gif" 扩展名结尾的图像文件,因此可以使用表达式 (\w+).(jpg|png|gif)$ 捕获所有此类文件名。问题 6:修剪掉行首和行尾的空白有时,您会发现自己的日志文件的空格格式错误,导致某些行缩进太多或者不够。解决这个问题的一种方法是使用编辑器的搜索功能,通过正则表达式来提取行中不包含额外空格的内容。我们之前已经看到了如何分别使用帽子符号 (hat) ^ 和美元符号 $ 匹配一整行文本。当这两个符号与空格 \s 一起使用时,可以轻松跳过所有前面和后面的空格。写一个简单的正则表达式来捕获每一行的内容,不包含额外的空格。练习 6:匹配行TaskTextCapture GroupsResultcaptureThe quick brown fox...The quick brown fox...Successcapturejumps over the lazy dog.jumps over the lazy dog.Success可以使用表达式 ^\s(.)\s*$ 跳过所有开始和结束的空格,只捕获内容。问题 7:从日志文件中提取信息在本例中,我们的目标是使用目前所学的任何正则表达式技术,从 Android adb 调试会话的实际输出日志中提取文件名、方法名、堆栈跟踪行的行号。它们在日志中的格式为:at package.class.methodname(filename:linenumber)练习 7:从日志条目中提取数据TaskTextCapture GroupsResultskipW/dalvikvm( 1553): threadid=1: uncaught exception skipE/( 1553): FATAL EXCEPTION: main skipE/( 1553): java.lang.StringIndexOutOfBoundsException captureE/( 1553): at widget.List.makeView(ListView.java:1727)makeViewListView.java1727SuccesscaptureE/( 1553): at widget.List.fillDown(ListView.java:652)fillDownListView.java652SuccesscaptureE/( 1553): at widget.List.fillFrom(ListView.java:709)fillFromListView.java709Success我们只想捕获方法名、文件名和行号,这可以使用表达式 (\w+)(([\w.]+):(\d+)) 来实现,其中第一个捕获组是方法名,之后是转义的括号、文件名、冒号,最后是行号。译者注:试试 at \w.\w.([\w.]+)、(([\w.]+)、:(\d+)问题 8:从 URL 中解析和提取数据在网络上处理文件和资源时,我们经常会遇到可以直接解析和使用的 URIs 和 URLs。大多数标准库都提供了用来解析和构造这类标识符的类,但是如果您需要在日志文件或更大的文本语料库中匹配它们,那么使用正则表达式可以很容易地从它们的结构化形式中提取信息。URIs (统一资源标识符,Uniform Resource Identifiers),是资源的一种表示方法,通常包括 scheme (方案名 (opens new window)),host (主机名),port (端口,可选的) 和 resource path (资源路径),如下所示:http://regexone.com:80/pageScheme 描述了用于通信的协议 (protocol),host 和 port 描述了资源的来源,path 描述了资源所在的位置。在下面的练习中,尝试提取出的所有资源的协议、主机和端口。练习 8:从 URL 中提取数据TaskTextCapture GroupsResultcaptureftp://file_server.com:21/top_secret/life_changing_plans.pdfftpfile_server.com21 capturehttps://regexone.com/lesson/introduction#sectionhttpsregexone.com capturefile://localhost:4040/zip_filefilelocalhost4040 capturehttps://s3cur3-server.com:9999/httpss3cur3-server.com9999 capturemarket://search/angry%20birdsmarketsearch 我们必须分别匹配这三个部分:列表中的协议都是字母组成的,所以可以使用 (\w+):// 匹配主机名可以包含非字母数字字符,如破折号或句点,因此可以使用 ://([\w-.]+) 匹配;也可以使用 ://(4+) 匹配端口是 URI 的可选部分,前面有冒号,可以使用 (:(\d+)) 匹配最终的完整表达式为:(\w+)://([\w-.]+)(:(\d+))?,或者 (\w+)://(4+)(:(\d+))?。问题 X:无限与超越!恭喜你解决了所有的问题!要了解如何在一些常用编程语言中使用正则表达式,请继续阅读下列文章。我们希望您可以开始在日常工作中应用正则表达式!C# (opens new window)JavaScript (opens new window)Java (opens new window)PHP (opens new window)Python (opens new window)如果您对如何改进网站有任何疑问或建议,请随时通过 Github Issue (opens new window) 或电子邮件 (elonzzz@163.com) 联系!课程 A1:反向引用说明进阶课程是译者针对 regexone.com (opens new window) 课程中没有涉及的内容所作的补充。反向引用 (back referencing),或者回溯引用,是指通过 \0、\1、\2 这样的变量形式来引用模式中已经匹配到的部分。\0 表示整个模式匹配到的文本,\1 表示捕获的第一个组、\2 表示捕获的第二个组,以此类推。在模式中,嵌套组按照从左到右的左括号出现的顺序定义,第一个捕获组是第一个括号里的内容,以此类推。捕获的结果也按照这个顺序排列。见课程 12:嵌套组回溯引用在替换字符串时十分常用。比如在使用正则表达式搜索文本中的两个数字并交换它们的位置时,可以先使用模式 (\d+)-(\d+) 来搜索,再使用 \2-\1 来替换。下面是 JavaScript 中的代码示例:"123-456".replace( /(\d+)-(\d+)/, // searchValue "$2-$1" // replaceValue, $1、$2 等价于上文的 \1、\2 ) // Output => "456-123"或者,当我们需要在文本中匹配两个连续的相同单词时,也可以使用反向引用。下面是一段 JS 代码示例,用于删除字符串中的连续的重复单词:"hello hello world world".replace( /(\w+) \1/g, // g 表示全局匹配,即匹配整个字符串中满足该模式的所有子串,而不仅是第一个 "$1" ) // Output => "hello world"请尝试完成下面的练习:练习 A1:匹配两个连续的相同单词TaskTextCapture GroupsResultcapturehello hello worldhello hello 使用模式 ((\w+) \2),其中 \2 表示从左到右第二个括号 (\w+) 捕获到的单词。课程 A2:零宽断言零宽断言用于指定要匹配的内容的前缀或后缀应该满足的约束条件,匹配到的内容并不包含这些前缀 / 后缀。“零宽”的含义是没有宽度、只匹配位置、不匹配内容;“断言”用来声明一个应该为真的事实,只有断言为真时正则表达式才会匹配。下面是正则表达式中的四种零宽断言:语法作用名称(?=exp)指定后缀零宽度正预测先行断言 zero-width positive lookahead assertion(?<=exp)指定前缀零宽度正回顾后发断言 zero-width positive lookbehind assertion(?!exp)指定后缀不能是零宽度负预测先行断言 zero-width negative lookahead assertion(?<!exp)指定前缀不能是零宽度负回顾后发断言 zero-width negative lookbehind assertion例如,模式 \w+(?=ing) 会匹配所有以 ing 结尾的单词,模式 (?<=un)\w+ 会匹配所有以 un 开头的单词。注意:断言左右两侧的括号是必须的。上面这四个语法可以这样理解:= 表示“是”、! 表示“不是”< 是一个向左的箭头,表示表达式的左面,也就是前缀我们不需要记住每个语法的具体名称,只要知道怎么用就可以。请尝试完成下面的练习。练习 A2-1:匹配后缀是 "ly" 的单词TaskTextResultskipsad matchslightly matchhardly matchperfectly matchsuddenly 最简单的方法是使用模式 \w+ly来匹配所有以 ly 结尾的单词。我们也可以使用 \w+(?=ly),这个模式匹配的内容并不包含 ly。请注意对比这两个模式的匹配结果的区别。 解决上述任务以继续下一个问题,或者查看答案。 练习 A2-2:匹配前缀是 "un" 的单词TaskTextResultskiphappy matchunfinished matchundoubted matchunused matchunhappy 可以使用模式 un\w+ 或 (?<=un)\w+ 来匹配所有以 un 开头的单词。请注意对比这两个模式的匹配结果的区别。 解决上述任务以继续下一个问题,或者查看答案。 练习 A2-3:只匹配前两行的 "re"TaskTextResultmatchrepresents matchreclaim skipregex skipregular 可以使用模式 re(?!g),该模式限定了 re 右边不能是字符 g。 解决上述任务以继续下一个问题,或者查看答案。 练习 A2-4:只匹配第一行的 "happy"TaskTextResultmatchhappy skipunhappy 可以使用模式 (?<!un)happy,该模式限定了 happy 左边不能是前缀 un。课程 A3:非捕获组在课程 11:捕获组与课程 A1:反向引用中,我们已经学习到:一对括号内的任何子模式都将被捕获为一个组,每个组按照从左到右的左括号出现的顺序,编号从 1 开始递增。但是某些情况下,我们并不需要使用捕获组的内容,这个时候可以使用非捕获组 (non-capturing groups)。非捕获组的语法是在捕获组的基础上,在左括号的右侧加上 ?:,即 (?:exp)。使用非捕获组可以节省内存、提升效率。在下面这段 JavaScript 代码中,我们使用了非捕获组,反向引用 $1 / $2 并没有与之对应的捕获组,在这里相当于纯字符串。"123-456".replace( /(?:\d+)-(?:\d+)/, // searchValue "$2-$1" // replaceValue, $1、$2 等价于反向引用 \1、\2 ) // Output => "$2-$1"请完成下面的练习,要求使用条件语法匹配前两行的动物,但不能生成捕获组。练习 A3:非捕获组TaskTextCapture GroupsResultmatchI love catscats matchI love dogsdogs skipI love logs skipI love cogs 如果使用模式 I love (cats|dogs),会同时捕获到 "cats"、"dogs"。改为 I love (?:cats|dogs) 就可以避免生成捕获组。课程 A4:贪婪 vs 懒惰当正则表达式中包含 *、+、? 等表示重复的元字符时,默认会匹配尽可能多的字符,这被称为贪婪匹配。例如给定字符串 abcab,模式 a.*b 会匹配最长的以 a 开始、以 b 结束的字符串,也就是匹配到整个字符串而不是 ab。与贪婪匹配相反的是非贪婪匹配,或者称为懒惰匹配,也就是匹配尽可能少的字符。语法是在上述元字符后面加上一个问号 ?。在上面的例子中,模式 a.*?b 将匹配到 ab。所有表示重复的元字符都可以转化为懒惰匹配模式:*?:重复任意次,但尽可能少重复+?:重复 1 次或更多次,但尽可能少重复??:重复 0 次或 1 次,但尽可能少重复{n,m}?:重复 n 到 m 次,但尽可能少重复{n,}?:重复 n 次或更多次,但尽可能少重复在下面的练习中,请尝试修改模式 (\d+)0*$,使其捕获不包含 0 的数字前缀。练习 A4:懒惰匹配TaskTextCapture GroupsResultcapture123000123 capture1010101 capture789789 默认情况下,正则表达式是贪婪匹配,所以 \d+ 总是尽可能多地向后匹配,将后面的 0 也包含进来。将模式改为非贪婪匹配:(\d+?)0*$,就可以让 \d+ 尽可能少匹配,让 0* 尽可能多匹配。课程 AX:无限与超越!恭喜你完成了所有进阶课程!如果您对如何改进网站有任何疑问或建议,或者需要补充其他有关正则表达式的内容,请随时通过 Github Issue (opens new window) 或电子邮件 (elonzzz@163.com) 联系!我的个人博客:http://imageslr.com (opens new window) 我的 Github 主页:https://github.com/imageslr (opens new window)最后,希望这些课程对你有所帮助!drp ↩b ↩\d\s\w ↩/: ↩
2026年01月16日
0 阅读
0 评论
0 点赞
2026-01-16
My WebSite
阳光无法抵达深海:https://kobe-curry.github.io/Pintree:https://zlidy.github.io/pintree/无需域名 / 服务器的免费静态托管平台(类似 GitHub Pages)这些平台均提供 免费二级域名 + 静态站点托管,无需自己买服务器和域名,直接上传静态文件或关联 Git 仓库即可部署,适合搭建个人博客、作品集。平台名称 免费域名格式 核心优势 限制条件 适合人群GitLab Pages xxx.gitlab.io 1. 空间无明确限制(远超 GitHub Pages 的 1GB)支持私有仓库部署CI/CD 功能更强大 1. 访问速度略慢于 GitHub每月 CI 运行时间有限(免费版 400 分钟) 1. 博客内容多(需要大空间)想要私有仓库托管源码Gitee Pages xxx.gitee.io 1. 国内访问速度极快(无需翻墙)操作界面全中文,新手友好支持绑定国内域名(无需备案即可用二级域名) 1. 非企业版需手动部署(每次修改后要点击「更新」)有广告(可关闭) 1. 国内用户(追求访问速度)不习惯英文界面的新手Netlify xxx.netlify.app 1. 自动部署(关联 Git 仓库后,推送到主分支自动更新)内置 CDN 加速,全球访问快支持表单、函数等扩展功能 1. 免费版每月带宽 100GB,超过后限流二级域名后缀固定为 .netlify.app 1. 追求自动化部署的用户需要全球快速访问的博客Vercel xxx.vercel.app 1. 部署速度极快(秒级上线)支持静态站点 + SSR 应用内置分析工具(访问量、用户地区) 1. 免费版每月请求数 100 万次非静态应用需要升级付费版 1. 技术爱好者(想尝试 SSR 功能)追求极简部署流程的用户Cloudflare Pages xxx.pages.dev 1. 依托 Cloudflare 全球 CDN,访问速度顶级无带宽、空间限制支持自定义构建命令 1. 配置略复杂(需关联 Cloudflare 账号)国内部分地区访问不稳定 1. 注重全球访问速度的用户有一定技术基础的用户Bitbucket Pages xxx.bitbucket.io 1. 支持私有仓库部署无空间和带宽限制 1. 主题 / 教程资源少社区活跃度低 1. 已经在 Bitbucket 托管代码的用户追求稳定无限制的小众需求
2026年01月16日
0 阅读
0 评论
0 点赞
2026-01-15
MO GALLERY个人影像叙事站正式发布,每张照片都有自己的故事
「开源自荐」MO GALLERY个人影像叙事站正式发布,每张照片都有自己的故事source_url: https://linux.do/t/topic/1395968[](#p-12010806-h-1)起因因为本人喜欢摄影,或者说是喜欢瞎拍拍,于是找了一些关于摄影、相册的优秀开源项目github.com GitHub - HoshinoSuzumi/chronoframe: Self-hosted personal gallery application with...Self-hosted personal gallery application with online photo management and albums, supporting Live/Motion Photos, EXIF parsing, geolocation recognition, and an explore map. [github.com](https://github.com/besscroft/PicImpact)  GitHub - besscroft/PicImpact: 自部署的摄影作品网站,支持多种功能特性。PicImpact,分享你和世界!自部署的摄影作品网站,支持多种功能特性。PicImpact,分享你和世界! [github.com](https://github.com/Afilmory/afilmory)  GitHub - Afilmory/afilmory: Modern photo gallery for photographers, with...Modern photo gallery for photographers, with S3/GitHub sync, EXIF details, maps, and a WebGL viewer.而这几个更是纯粹的照片展示的项目,但都和我的想法不太符合,那就是 照片+文字。[](#p-12010806-mo-gallery-2)Mo Gallery仓库地址:github.com GitHub - ushaio/mo-gallery-web: 个人摄影日记网站个人摄影日记网站预览地址: mo-gallery.shaio.topMO GALLERY | 视界Capturing the unspoken moments of existence.[](#p-12010806-slogan-3)slogan每张照片都有自己的故事。 因此,我弄出了Mo gallery,一个由照片+文字组合的类似于博客的网站,项目全部是由AI驱动开发的,谈不上啥技术含量,但是做出一款符合自己想法和需求的东东时,那种满足感是无以言喻的。项目的传播性可能是比较小众,但也是乐在其中。后续,我也会持续使用并优化该项目,让其功能更加完善。[](#p-12010806-h-4)特点主要特点基于nextjs+honojs,使其可以直接部署在vercel,免去服务器的束缚;支持多源存储:GITHUB、R2、LOCAL(服务器部署)MARKDOWN编辑器,实时预览LINUX DO快捷登录,支持评论功能照片+文字的特点,打造个人摄影展示平台照片+相册管理,个人摄影备份新方式照片日志,书写照片背后的故事,个人影像记录新方式 AI生成: [image1340×4438 740 KB](https://linux.do/uploads/default/65f93f92ad38ab604067d5fe166b13e2e7e40968)部分截图: [image1920×1019 223 KB](https://linux.do/uploads/default/fd71093f397a88d7e09fa3c889c40f83e5c49880) [image1920×1039 206 KB](https://linux.do/uploads/default/cf4e9d2a411559f3f4505f3603f4b808c1849612) [image1920×1039 190 KB](https://linux.do/uploads/default/b2884cf0e9e8eaffef33a53334a3e3565a6f9aaf) [image1920×1039 150 KB](https://linux.do/uploads/default/6e84377783a4c359975dec0653e7421676c1c806)[](#p-12010806-h-5)管理页面[image1920×1017 500 KB](https://linux.do/uploads/default/fc61e870abe83f96a626e387db209cef7583b62e) [image2880×1545 160 KB](https://linux.do/uploads/default/23f888cb385747d71a7812e44bf8312879be72fb) [image1920×1039 149 KB](https://linux.do/uploads/default/dc360383f97aa20dfa674b77288411d2b1f45cc8)原本是想昨天发的,但是问题依旧很多,然后今天又改了一天,最后实在熬不动了,干脆今天发吧,保证了大部分的功能是正常运行。[](#p-12010806-h-6)一些遐想也许可以做成平台,大家都分享照片,然后加入LDC积分系统,对于喜欢的照片,积分打赏啊哈哈哈,感觉似乎还不错 ::tieba_095::最后感觉L站的佬友们提供的公益,才使得我完成了这个项目,耗时了小半个月也是 ::smiling_face_with_tear::感谢公益::folded_hands:: @mazhichen8780 :zzz: @nineyuan @gx123 anyrouter Elysiver WONG
2026年01月15日
1 阅读
0 评论
0 点赞
2026-01-09
东方美学与投资
今天看到了三种东方美学:物哀,是对时间的感知。万物终将逝去,因此此刻才显得格外清澈。幽玄,是对空间的体悟。不必被说尽,朦胧本身就是深度。侘寂,是对存在的确认。残缺、不完美与孤寂,并非缺陷,而是真实。它们看似不同,其实指向同一件事:放下人为的控制欲,让世界按其本来的方式展开。老子早已给出相同的答案,只是换了一种语言:物哀,是「夫物芸芸,各复归其根」,时间终会带走一切;幽玄,是「惚兮恍兮,其中有象」,不可言说处,反而最真;侘寂,是「常善救物,故无弃物」,世间没有真正该被丢弃的存在。美,并不来自修饰,而来自看见、承认、与顺从。这三者对应到投资中去:物哀,任何优势都注定衰减,入场之前,必须先设计好离场,也就是止盈止损。幽玄,世界运行在灰度中,我们需要在不完全理解中做判断。看不懂,可以参与;但看不懂,绝不重仓。侘寂,不完美系统才能长期生存,投资系统的第一目标,不是收益最大化,而是存活,保证自己错很多次,还能留在牌桌上。不赌永恒逻辑,不等完全确定,不造精致系统。这是在一个高度复杂、不确定、演化极快的市场中,最清醒、也最长期主义的姿态。🤝
2026年01月09日
1 阅读
0 评论
0 点赞
2026-01-04
一个专注于 NAS 和 Docker 部署的开源项目合集,覆盖 AI、开发、数据管理、多媒体、运维等场景,提供一键式部署指南和实用教程,让 NAS 变身全能生产力工具!
https://github.com/TWO-ICE/Awesome-NAS-DockerAwesome-NAS-Docker 🚀 垃圾佬俱乐部,全网收集好玩的docker项目,覆盖 AI、开发、数据管理、家庭娱乐等场景,生命不息!折腾不止!知乎:二冰公众号:丛集黑科技NAS圈大佬:可爱的小Cherry(二冰的nas引路人,大家多多关注)项目分类置顶好兄弟完全按照我的需求开发的两个项目,已经在用了,很好用,推荐,有啥需求可以直接跟他提,让他给优化项目标题项目简介项目地址教程star最近更新NotionNav基于notion的导航站点我查看查看教程cloudimgsDocker部署的图床点我查看查看教程1、AI应用生态1.1 数据处理支持项目标题项目简介项目地址教程star最近更新Adminer单容器管理九大主流数据库点我查看查看教程DbGate支持多数据库管理的跨平台工具点我查看查看教程NocoDB将数据库变可视化表格及管理后台点我查看查看教程Maxun无代码平台实现网页数据抓取点我查看查看教程WhoDB支持多数据库管理及AI对话工具点我查看查看教程SFTPGo支持多协议的文件传输解决方案点我查看查看教程OpnForm三分钟搭建表单系统,功能丰富安全点我查看查看教程SpiderFlow零代码可视化完成数据抓取点我查看查看教程Directus实时API生成与数据库可视化平台点我查看查看教程zjson智能处理JSON,有多项实用功能点我查看查看教程Baserow零代码创建管理关系型数据库点我查看查看教程 1.2 AI应用工具项目标题项目简介项目地址教程star最近更新PhotoPrism实现人脸分类、智能搜索的相册系统点我查看查看教程LibreTranslate可私有化部署的翻译引擎项目点我查看查看教程Benotes自建知识库,支持多平台同步记录点我查看查看教程ZincSearch轻量级全文搜索,适用中小项目点我查看查看教程Genact模拟多种场景让电脑“看起来很忙”点我查看查看教程春松客服零成本自建多平台智能客服系统点我查看查看教程 AFFiNE集文档管理与白板协作于一体点我查看查看教程TrWebOCR离线OCR,精准识别多场景适配点我查看查看教程Beancount-GSDocker部署的复式记账工具点我查看查看教程EnBizCard免费开源的数字名片生成工具点我查看查看教程FreeCAD支持多端部署的3D建模工具点我查看查看教程思源笔记本地化知识管理与私有库搭建点我查看查看教程Koillection实现实体物品数字化收藏管理点我查看查看教程Deep Research Web UI自动爬资料生成学术报告的工具点我查看查看教程Claper将文档变互动平台,支持多种互动功能点我查看查看教程FastGPT基于大模型搭建企业级AI客服点我查看查看教程FreeAskInternet免费私有化AI搜索引擎解决方案点我查看查看教程MaxKB30分钟部署企业级智能知识库点我查看查看教程Kotaemon支持多格式文档智能问答分析点我查看查看教程DB-GPT让大模型与数据库结合的开源框架点我查看查看教程Dify搭建AI知识库系统及应用点我查看查看教程Hibiscus.txt纯文本日记系统,助力记录不拖延点我查看查看教程 Reor本地运行的AI笔记知识管理工具点我查看查看教程LanguageTool30+语种语法校验及实时纠错工具点我查看查看教程Kaizoku自托管漫画下载并自动整理追更点我查看查看教程Moodist免费开源可混搭的环境音效工具点我查看查看教程Zammad免费打造支持多渠道接入的客服系统点我查看查看教程SillyTavern支持多模型的AI角色扮演工具点我查看查看教程fastposter三分钟生成专业级宣传物料点我查看查看教程Hoarder整合收藏信息并实现秒级定位点我查看查看教程B站录播姬自动抓取B站直播回放及弹幕点我查看查看教程LubeLogger自托管车辆维护管理并生成报表点我查看查看教程Cook根据食材推荐菜谱并跳转教学视频点我查看查看教程Langflow零代码可视化构建各类AI应用点我查看查看教程Open Notebook深度学习用的AI笔记系统点我查看查看教程Search4All聚合多引擎结果提炼精准答案点我查看查看教程SQL Chat自然语言操作数据库并可视化展示点我查看查看教程Mixpost多平台社交账号管理及数据分析点我查看查看教程1.3 部署与优化项目标题项目简介项目地址教程star最近更新NodeBB搭建高逼格现代化互动论坛平台点我查看查看教程Piwigo实现照片管理与多端同步部署点我查看查看教程 Waline实现博客评论区管理及数据统计点我查看查看教程 Apprise打通多平台的统一通知服务点我查看查看教程PlayEdu私有化部署企业级培训系统点我查看查看教程Easy countdown支持多端同步的全屏倒计时工具点我查看查看教程OpenClinica管理临床试验数据,适配多终端点我查看查看教程Tduck填鸭表单系统开源在线表单收集工具点我查看查看教程 miniPaint在线图像编辑,功能多即开即用点我查看查看教程NocoBase零代码开发系统,支持多库多端部署点我查看查看教程Web Portal集中常用功能的全功能仪表盘系统点我查看查看教程LocalAI支持CPU运行的本地AI项目点我查看查看教程Hugo用三条命令快速搭建静态博客系统点我查看查看教程 Easy-Gate统一展示家庭服务器服务入口点我查看查看教程Typecho提供轻量博客搭建全攻略点我查看查看教程ThingsBoard支持多协议的物联网监控平台点我查看查看教程Apache Tomcat利用群晖+Docker部署Java程序点我查看查看教程 Xnote支持多格式的知识管理系统点我查看查看教程Fenrus聚合服务、管理容器及SSH的工具点我查看查看教程Castopod搭建可互动的播客平台解决方案点我查看查看教程VanBlog无需代码,快速部署高性能博客系统点我查看查看教程DokuWiki轻量级知识管理与团队协作方案点我查看查看教程Taiga实时同步进度、自动生成报表的工具点我查看查看教程deepseek-free-api零成本Docker部署DeepSeek API服务点我查看查看教程FreshRSS搭建全网资讯监控台收集信息点我查看查看教程4EVERLAND免费部署Hexo博客,提供存储和加速点我查看查看教程 Ghost在群晖上部署博客系统实现写作自由点我查看查看教程Matomo监控网站流量并分析用户行为点我查看查看教程Ollama免费本地运行顶级大模型框架点我查看查看教程NoteFlow结合Markdown与任务管理的工具点我查看查看教程Homer整合服务打造高颜值导航页点我查看查看教程Standard Notes实现数据加密存储与安全共享点我查看查看教程Webtop在浏览器运行完整Linux桌面环境点我查看查看教程MediaWiki打造私有化知识管理平台点我查看查看教程code-server浏览器实现代码编辑开发环境点我查看查看教程SeaTable实现HTTPS访问的在线协同表格系统点我查看查看教程Logseq隐私优先双链笔记本地存储工具点我查看查看教程LinkAce自动备份书签并永久保存网页快照点我查看查看教程Serge本地运行AI聊天机器人项目点我查看查看教程SimpleMindMap多端同步、扩展性强的思维导图工具点我查看查看教程django-mdict将词典部署成Web服务用于查词点我查看查看教程docker-wechat让任意系统秒开多个微信点我查看查看教程code-server-masscode基于Docker搭建云端代码库方案点我查看查看教程Paint Board支持多功能的在线数字绘画工具点我查看查看教程Open WebUI+Ollama用Docker部署本地AI聊天室点我查看查看教程Homer整合服务打造高颜值导航页点我查看查看教程kimi-free-api利用NAS白嫖API打造AI助理点我查看查看教程独角数卡搭建自动售货商城实现自动发货点我查看查看教程DweebUI零配置模板化的Docker可视化工具点我查看查看教程DeepSeek-R1用Docker在群晖部署大模型处理数据点我查看查看教程 1.4 辅助开发工具项目标题项目简介项目地址教程star最近更新ToolJet十分钟部署企业级开发平台点我查看查看教程Joget零代码搭建全场景业务系统平台点我查看查看教程Budibase快速搭建常见内部管理系统点我查看查看教程Note Mark自托管Markdown笔记系统,可多用户协作点我查看查看教程Oxker终端里管理Docker的神器点我查看查看教程Slidev用Markdown做PPT的开源工具点我查看查看教程Coffee And Tea一站式IT资产及运维管理平台点我查看查看教程LinkDing提供自托管书签服务,支持同步分类点我查看查看教程OpenResume开源的在线简历生成及部署工具点我查看查看教程Wakapi精准统计编码时间并支持数据可视化点我查看查看教程PHP Dynamic QRcode可动态改链接的二维码生成工具点我查看查看教程DrawDB网页版数据库设计并生成SQL工具点我查看查看教程DocuSeal免费自建电子签名平台处理合同点我查看查看教程Reference中文速查表提供 170+ 技术栈速查的开发工具点我查看查看教程Halo无需备案搭建高颜值动态主页点我查看查看教程Nginx Config在线可视化生成Nginx配置点我查看查看教程Team IDE整合数据库、SSH及实用工具点我查看查看教程Scraperr自托管网页数据抓取并支持导出点我查看查看教程Appsmith低代码搭建内部系统及管理后台点我查看查看教程Saltcorn零代码搭建带数据库的Web应用点我查看查看教程OhMyForm开源表单工具,可做各类问卷调查点我查看查看教程YaadeAPI协作管理与文档生成平台点我查看查看教程sqlite-webWeb版SQLite数据库管理工具点我查看查看教程Compiler Explorer30+语言在线编译及代码分析平台点我查看查看教程regex-vis将正则表达式可视化并可测试点我查看查看教程Atheos零配置云端开发环境,多端同步编码点我查看查看教程IT-Tools集成70+工具,支持Docker部署点我查看查看教程Quant-UX集原型设计与用户行为分析于一体点我查看查看教程Halo无需备案搭建高颜值动态主页项目地址查看教程Reference中文速查表提供 170+ 技术栈速查的开发工具项目地址查看教程Penpot跨平台原型设计及团队协作工具项目地址查看教程2Fauth整合管理多平台二步验证验证码项目地址查看教程2、智能开发与部署2.1 开发环境项目标题项目简介项目地址教程star最近更新RStudio Server用群晖Docker搭建R开发环境点我查看查看教程Windows 11 in React用浏览器玩完整界面的网页版Win11点我查看查看教程Instantbox极速创建临时Linux环境神器点我查看查看教程AI as Workspace管理多AI模型,含文档解析等功能点我查看查看教程Windows in Docker用Docker在绿联NAS里装Windows系统项目地址查看教程2.2 自动化体系项目标题项目简介项目地址教程star最近更新n8n打造全自动天气推送及多场景联动系统点我查看查看教程QD-Today支持多平台自动签到的工具点我查看查看教程RuoYi-flowable企业业务流程管理自动化解决方案点我查看查看教程 DopplerTask可视化编排工具实现自动化操作点我查看查看教程Watchtower自动监控升级Docker容器的工具点我查看查看教程Activepieces可视化串联应用实现自动化流程点我查看查看教程Automatisch实现应用自动化对接与任务处理点我查看查看教程Apache Airflow调度复杂任务实现自动化操作点我查看查看教程Watchtower自动监控升级Docker容器的工具项目地址查看教程dailycheckin支持多平台自动签到及茅台预约项目地址查看教程2.3 镜像管理项目标题项目简介项目地址教程star最近更新iToP提供IT服务管理一站式解决方案点我查看查看教程What's Up Docker实时监控Docker容器镜像更新情况点我查看查看教程Yacht可视化管理Docker容器的工具项目地址查看教程2.4 部署工具链项目标题项目简介项目地址教程star最近更新One API封装大模型接口解决多平台混乱点我查看查看教程Odoo一站式全业务链企业管理方案点我查看查看教程Dockge可视化管理Docker Compose容器堆栈点我查看查看教程AdventureLog旅行记录、规划及多媒体管理工具点我查看查看教程Docker-AutoCompose将Docker容器逆向生成compose文件点我查看查看教程LimeSurvey支持多国语言的开源问卷系统点我查看查看教程bypy用命令行操作百度网盘并同步文件点我查看查看教程DPanelDocker可视化管理及运维工具点我查看查看教程alpine/git解决群晖旧系统Git使用难题点我查看查看教程AutoPiano在线钢琴项目,多玩法低成本练琴点我查看查看教程DockerUI可视化管理Docker的全中文工具点我查看查看教程Hasty Paste技术团队专属极简粘贴板系统点我查看查看教程Compose Craft可视化编排生成docker-compose文件点我查看查看教程Yacht可视化部署管理Docker容器应用点我查看查看教程03、数据与知识管理3.1 智能处理项目标题项目简介项目地址教程star最近更新MT Photos相册管理,支持搜图、分类、共享 查看教程 PhotoStructure智能整理照片,支持多格式访问项目地址查看教程 3.2 分析与可视化项目标题项目简介项目地址教程star最近更新Doku可视化分析管理Docker存储项目地址查看教程Web-Check获取网站核心数据并生成分析报告项目地址查看教程3.3 协作与共享项目标题项目简介项目地址教程star最近更新O2OA开源OA系统解决企业流程及数据安全管理问题项目地址查看教程 WBO开源白板支持多端协作的开源白板系统项目地址查看教程04、多媒体处理中心4.1 视频处理项目标题项目简介项目地址教程star最近更新yt-dlp-web支持多平台视频下载的神器点我查看查看教程Shinobi支持多协议的开源监控系统点我查看查看教程 Call-Me实现浏览器直连的1对1高清视频通话点我查看查看教程HandBrake视频转码,支持自动化和多平台点我查看查看教程 MKVToolNix实现MKV文件处理及多媒体封装点我查看查看教程DouyinLiveRecorder全网主流平台直播自动录播工具项目地址查看教程4.2 音频管理项目标题项目简介项目地址教程star最近更新Beets自动管理音乐库并实现多样操作点我查看查看教程Polaris部署私人音乐库,支持多平台畅听点我查看查看教程SheetAble实现多端同步的云端乐谱管理系统点我查看查看教程LX Music Sync Server实现全平台洛雪音乐歌单同步点我查看查看教程PlaylistDL解析Spotify/Youtube歌单并下载转MP3点我查看查看教程Music Tag Web网页版批量修正音乐元数据工具点我查看查看教程Diosic将本地音乐库转为在线流媒体服务点我查看查看教程MusicCard自动解析网易云链接生成音乐海报点我查看查看教程Navidrome将NAS变私人音乐库并在线播放点我查看查看教程Maloja实现全平台音乐数据统计与管理点我查看查看教程Lyrion Music Server统一管理音乐资源并支持多服务点我查看查看教程 NextBeats提供Lofi音乐电台辅助开发点我查看查看教程Noisedash生成环境噪声助眠并提升专注力点我查看查看教程Feishin打造跨平台无损音质私人音乐库点我查看查看教程SPlayer全平台无广告网易云音乐播放器点我查看查看教程Alger Music Player无广告网易云音乐播放部署项目点我查看查看教程mStream将本地音乐库变私人流媒体服务点我查看查看教程R3PLAYX第三方网易云播放器部署方案点我查看查看教程TeamSpeak3打造低延迟私有语音通讯环境点我查看查看教程 Musicn支持全网无损音乐下载的工具点我查看查看教程Booksonic-Air实现有声书跨设备畅听管理点我查看查看教程4.3 传输协议项目标题项目简介项目地址教程star最近更新MicroBin支持加密传输的轻量级工具点我查看查看教程FastSend跨平台点对点极速安全传文件点我查看查看教程4.4 图像处理项目标题项目简介项目地址教程star最近更新WebP Server Go将图片转WebP优化网站流量点我查看查看教程Photopea浏览器运行的专业图像编辑工具点我查看查看教程 HivisionIDPhoto生活照生成专业证件照的工具点我查看查看教程webp2jpg-online本地多格式图片转换及处理工具点我查看查看教程RawTherapee免费开源处理RAW文件工具点我查看查看教程VTracer位图转矢量图的开源图像工具点我查看查看教程Ralbum解决图片管理痛点的开源系统点我查看查看教程Photonix搭建本地智能相册系统管理照片点我查看查看教程Single File PHP Gallery零配置搭建带缩略图网页相册点我查看查看教程 Immich搭建智能相册系统,实现照片管理备份点我查看查看教程PicHome将文件夹变智能可视化素材库点我查看查看教程Avataaars Generator可定制导出的卡通头像生成器点我查看查看教程ASCII-Generator.site将图片/文本转ASCII艺术作品点我查看查看教程Szurubooru管理二次元图片并支持社区互动点我查看查看教程PicX用GitHub仓库搭建免费高速图床点我查看查看教程Lama CleanerAI图像修复,修图零门槛点我查看查看教程Darktable在NAS部署修图工具实现专业修图项目地址查看教程 Image-MattingAI自动抠图,支持多场景和批量处理项目地址查看教程4.5 流媒体服务项目标题项目简介项目地址教程star最近更新AzuraCast用Docker搭建可多端收听的私人电台点我查看查看教程iptv-m3u-maker自动巡检直播源并生成播放列表点我查看查看教程PeerTube自建视频站,数据自主且站点互通点我查看查看教程Euterpe用Docker部署自建私人音乐库点我查看查看教程iptv-checker检测过滤直播源,多平台通用点我查看查看教程MediaCMS管理视频、音频、图片的全媒体平台点我查看查看教程Owncast可私有化部署的开源直播服务器点我查看查看教程TorrServer将磁力资源转化为视频流在线播放点我查看查看教程ErsatzTV用NAS或服务器打造专属动画频道点我查看查看教程Fireshare开源工具可自建专属视频站点我查看查看教程iptv-sources自动管理IPTV源,更新频道点我查看查看教程Dim三分钟部署轻量级私人影库点我查看查看教程Guovin/TV自动管理IPTV直播源并生成M3U列表点我查看查看教程Komga将漫画转在线图书馆并多端阅读点我查看查看教程Kyoo管理影视动漫的免费开源影库点我查看查看教程IPTVnator跨平台浏览器看全球直播工具点我查看查看教程Gonic自建音乐流媒体服务器,多平台畅听点我查看查看教程allinone_format聚合直播源并生成订阅列表工具点我查看查看教程 Airsonic-Advanced打造全场景私人音乐流媒体平台点我查看查看教程StreamDock把浏览器变网络电视看全球直播点我查看查看教程Nettu Meet开源在线辅导平台,适配教学场景点我查看查看教程PawTunes一键搭建电台,多格式多频道播放点我查看查看教程05、运维监控体系5.1 自动化运维项目标题项目简介项目地址教程star最近更新OliveTin将Linux命令封装成网页按钮操作点我查看查看教程1Panel实现Linux服务器可视化运维管理点我查看查看教程 Nexterm管理多协议服务器连接与配置点我查看查看教程Sshwifty基于Web实现SSH/Telnet远程管理点我查看查看教程OliveTin网页端可视化执行Shell命令平台点我查看查看教程 5.2 资源监控项目标题项目简介项目地址教程star最近更新vnStat实时监控网卡带宽使用情况点我查看查看教程DashDot展示服务器核心指标的监控工具点我查看查看教程NetAlertX监控局域网设备并提供警报防护点我查看查看教程Tianji实现网站和服务器多指标监控点我查看查看教程Beszel监控服务器、Docker容器资源及告警点我查看查看教程DIUN实时监控Docker镜像更新并推送通知点我查看查看教程WatchYourPorts服务器端口24小时监控及数据可视化点我查看查看教程青蛇探针监控服务器,支持批量操作与权限管理点我查看查看教程Dashly监控Nginx Proxy Manager服务状态点我查看查看教程Statping多协议网站监控及可视化预警系统点我查看查看教程Pi.Alert监控网络设备、检测入侵并告警点我查看查看教程InfluxDB+HA实时记录智能家居数据并监控展示点我查看查看教程Nezha哪吒监控服务器运维监控及批量操作方案点我查看查看教程ServerBee跨平台服务器监控及管理工具点我查看查看教程Uptime Kuma实时监控多种协议并支持告警点我查看查看教程HertzBeat无需Agent全栈监控及多端告警点我查看查看教程Domain Admin实时监控SSL证书有效期并告警点我查看查看教程Changedetection.io监控网页内容及接口数据变化点我查看查看教程Scrutiny实时监控硬盘健康并预警故障点我查看查看教程LibreNMS基于SNMP协议的网络设备监控系统点我查看查看教程Homepage掌控Docker服务,可个性化定制导航点我查看查看教程NextTrace Web搭建可视化网络追踪平台,定位问题点我查看查看教程Healthchecks监控定时任务,任务异常自动报警点我查看查看教程docker-rss实时监控Docker镜像更新并生成RSS源点我查看查看教程Speedtest-Tracker24 小时自动测速,监控网络状态点我查看查看教程WatchYourLAN可视化监控局域网设备的工具点我查看查看教程MySpeed自动记录网络质量并持续监控点我查看查看教程Traccar实现GPS定位追踪与运营数据统计点我查看查看教程Grafana用Docker部署监控群晖运行状态工具点我查看查看教程Synology Monitoring用Docker三件套实现群晖性能监控点我查看查看教程SerpBear实时监控网站谷歌排名及流量变化点我查看查看教程Ghostfolio整合交易数据的财富管理工具点我查看查看教程WebMonitor实现网页及RSS监控与多平台推送点我查看查看教程Miniboard实时监控服务器/容器并推送告警点我查看查看教程Smokeping实时监测网络质量并可视化展示点我查看查看教程Speedtest-Tracker搭建网速监控站记录关键数据点我查看查看教程Ward实时监控单机/小型服务器指标点我查看查看教程 HertzBeat实时监控告警,设备集中管理项目地址查看教程Amprobe实时监控Docker生态关键指标项目地址查看教程Diun实时监控Docker镜像更新并通知项目地址查看教程kener实时监控服务并可自定义监控墙项目地址查看教程5.3 网络治理项目标题项目简介项目地址教程star最近更新Portall基于Docker解决服务端口管理难题点我查看查看教程phpIPAM实现家庭及小型网络IP管理点我查看查看教程5.4 安全防护项目标题项目简介项目地址教程star最近更新ClamAV提供服务器杀毒及病毒过滤方案点我查看查看教程 Tailscale实现远程办公与安全上网功能点我查看查看教程MobSF自动检测移动应用安全漏洞点我查看查看教程5.5 日志体系项目标题项目简介项目地址教程star最近更新GoAccess for Nginx搭建Nginx日志可视化监控平台点我查看查看教程DozzleDocker环境轻量级日志监控工具点我查看查看教程OpenChangelog将文件变成高颜值更新日志网站点我查看查看教程06、企业协作平台6.1 通讯协同项目标题项目简介项目地址教程star最近更新Revolt搭建具隐私性的即时通讯平台点我查看查看教程Zusam支持小团体私密社交及资料分享点我查看查看教程VoceChat轻量级即时通讯及协作平台点我查看查看教程 MiroTalk开源免费的视频会议系统点我查看查看教程Fiora自建高隐私聊天系统,支持多功能项目地址查看教程6.2 客户管理项目标题项目简介项目地址教程star最近更新Chatwoot搭建全渠道客服系统的开源项目点我查看查看教程Monica管理个人社交关系的开源Web应用点我查看查看教程Twenty开源CRM系统,可自托管部署项目地址查看教程6.3 文档协作项目标题项目简介项目地址教程star最近更新Hexon支持一键部署的在线Markdown编辑工具点我查看查看教程Eidos离线运行、支持本地AI的隐私知识库点我查看查看教程DailyNotes结合Markdown与任务管理的Web应用点我查看查看教程TriliumNext管理海量笔记,支持多端同步等点我查看查看教程MinDocIT团队文档管理一站式解决方案点我查看查看教程Many Notes支持多用户的Markdown笔记系统点我查看查看教程Etherpad支持多人实时协作编辑的Web工具点我查看查看教程StackEdit支持多平台的全功能Markdown编辑器点我查看查看教程TiddlyWiki实现知识管理及云端同步部署点我查看查看教程Univer企业级文档协同编辑解决方案项目地址查看教程ShowDoc支持自动生成API文档的团队文档系统项目地址查看教程魔豆文库让NAS变文档库并支持多格式预览项目地址查看教程6.4 项目管理项目标题项目简介项目地址教程star最近更新Redmine支持多项目管理的Web端工具点我查看查看教程 InvenTree实现库存管理及相关业务流程点我查看查看教程daedalOS浏览器运行老游戏及Windows程序点我查看查看教程Dagu可视化管理定时任务及编排流程点我查看查看教程tududi支持三端同步的任务管理工具点我查看查看教程Focalboard提供项目管理及多维度任务追踪服务点我查看查看教程Tellor极简个人任务管理应用,可自托管点我查看查看教程Wallos管理周期账单及提醒的自托管系统项目地址查看教程07、安全与隐私工具7.1 渗透测试项目标题项目简介项目地址教程star最近更新RustScan端口扫描并对接Nmap做漏洞分析点我查看查看教程7.1 加密体系项目标题项目简介项目地址教程star最近更新Passbolt团队密码管理,支持多功能协作点我查看查看教程PwGen基于Docker生成安全密码的工具点我查看查看教程PSWD生成高强度随机密码和短语点我查看查看教程Databag隐私保护的去中心化即时通讯工具点我查看查看教程NotepadMX创建加密文本空间保障隐私安全点我查看查看教程DailyTxT加密日记Web应用,多设备可同步点我查看查看教程Heimdallr基于主密码实时生成全网密码点我查看查看教程Enclosed端到端加密传输,消息阅后即焚点我查看查看教程7.3 身份认证项目标题项目简介项目地址教程star最近更新Authelia为自建服务提供身份验证和安全防护点我查看查看教程7.4 数据保护项目标题项目简介项目地址教程star最近更新PG Back Web实现PostgreSQL全自动备份管理点我查看查看教程08、家庭与物联网8.1 家庭娱乐项目标题项目简介项目地址教程star最近更新YYeTsBot搭建私人影视库,畅享海量资源点我查看查看教程RomM整理复古游戏成专业级游戏库点我查看查看教程鱼了个鱼支持无限道具的解压消除游戏点我查看查看教程Onelist将网盘变私人影院,支持多网盘管理点我查看查看教程SyncTV支持多人同步观影及互动的Web应用点我查看查看教程Plex三步搭建专属4K影音库并播放点我查看查看教程 Sokoban网页版推箱子游戏,Docker可部署点我查看查看教程VideoTogether跨平台多人同步观影工具点我查看查看教程Landlord30 秒搭建斗地主服务器,AI 陪玩点我查看查看教程Audiobookshelf实现有声书和电子书双端管理同步点我查看查看教程Auddly Music Server自托管音乐平台可本地存音乐点我查看查看教程Jellyseerr实现影视搜索下载播放自动化点我查看查看教程小雅Alist聚合阿里云盘影视资源在线播放点我查看查看教程Jellyfin用群晖NAS打造私人影音库点我查看查看教程LMS用Docker搭建私人音乐云盘点我查看查看教程Tachidesk部署服务器实现全网漫画阅读追更点我查看查看教程Bar Assistant管理调酒原料配方并智能推荐酒款点我查看查看教程Teemii实现漫画检索、下载及管理点我查看查看教程Webamp在浏览器复刻经典音乐播放器点我查看查看教程BGmi“全自动追番,订阅即下载工具”点我查看查看教程RetroArch-webNAS部署网页版游戏模拟器畅玩经典游戏项目地址查看教程8.2 健康管理项目标题项目简介项目地址教程star最近更新Calmness开源呼吸训练工具助解压入眠点我查看查看教程wger提供全栈健身管理与数据追踪服务点我查看查看教程Resource Diary记录任务情绪波动并统计分析点我查看查看教程ExerciseDiary将健身记录可视化并生成热力图点我查看查看教程8.3 智能家居项目标题项目简介项目地址教程star最近更新UpSnap可远程唤醒局域网设备的工具点我查看查看教程xiaomusic实现小爱音箱播放多源音乐点我查看查看教程Grocy实现家庭物资及家务的自动化管理点我查看查看教程Homechart管理家庭事务并生成相关报表点我查看查看教程HomeLists自托管家庭物资管理及预警系统点我查看查看教程xiaomusic实现小爱音箱播放多源音乐项目地址查看教程HomeBox搭建家庭及企业物资管理系统项目地址查看教程8.4 生活服务项目标题项目简介项目地址教程star最近更新Mealie管理菜谱、定制计划、生成清单点我查看查看教程Astro统一管理家庭自建服务的开源工具点我查看查看教程Hammond支持多车多用户的车辆记账系统项目地址查看教程9、效率工具集合9.1 文件处理项目标题项目简介项目地址教程star最近更新小书匠支持多端同步的Markdown写作工具点我查看查看教程Reubah支持多格式转换及批量处理操作点我查看查看教程OCRmyPDF让扫描版PDF变可搜索文档点我查看查看教程Elysian解决浏览器书签备份同步难题点我查看查看教程Filestash用网页管理多协议存储与数据库点我查看查看教程Plik自建临时文件传输系统点我查看查看教程Signal在线MIDI编辑、播放及创作工具点我查看查看教程kkFileView在线预览200+种格式文档方案点我查看查看教程Shaarli跨平台同步的轻量级书签管理工具点我查看查看教程aliyunpan-sync实现本地与阿里云盘文件双向同步点我查看查看教程Oasis快速搭建私人云存储的开源项目点我查看查看教程 Blinko闪念速记与知识管理的自托管工具点我查看查看教程Morphos Server支持文档与图片格式转换点我查看查看教程ProjectSend安全分发文件并精准控制权限点我查看查看教程TagSpaces文件管理、笔记标注及网页剪藏工具点我查看查看教程Stirling-PDFWeb端PDF处理,支持多操作点我查看查看教程LookScanned将电子版PDF转为高仿真扫描件点我查看查看教程Mikochi网页版文件管理器,支持多操作点我查看查看教程FileFlows自动处理文件,支持格式多样点我查看查看教程FileZilla用浏览器实现跨平台文件传输管理点我查看查看教程Biblioteca搭建个人电子书库并实现多端管理点我查看查看教程Grav无需数据库快速搭建个人网站点我查看查看教程PdfDing部署自托管PDF管理器并支持多端阅读点我查看查看教程 PDFMathTranslateAI驱动的PDF双语翻译工具点我查看查看教程flatnotes免数据库的Markdown笔记工具点我查看查看教程9.2 信息聚合项目标题项目简介项目地址教程star最近更新ChatOllama三分钟搭建专属AI问答系统点我查看查看教程Morss自动抓取RSS文章全文的开源工具点我查看查看教程Prowlarr统一管理PT站点配置并联动工具点我查看查看教程My-BookMark多用户跨平台书签管理系统点我查看查看教程BitMagnet搭建私有种子库的Docker神器点我查看查看教程Kiwix Serve用Docker搭建离线维基百科服务点我查看查看教程DailyHot热榜聚合系统聚合全网30+平台热榜数据点我查看查看教程HamsterBase离线知识管理,支持多端同步点我查看查看教程 Alist实现网盘资源管理与在线播放点我查看查看教程Flame聚合常用服务打造极简工作台点我查看查看教程UniBoard整合导航、网盘、短链等功能平台点我查看查看教程RSSHub为网站生成RSS订阅源聚合信息点我查看查看教程Miniflux自建RSS阅读器,重拾信息主动权点我查看查看教程Sun-Panel打造NAS导航面板,支持多功能点我查看查看教程SearXNG聚合主流搜索源且保护隐私的工具点我查看查看教程RSS“打造清爽信息流的RSS阅读器”点我查看查看教程Glance搭建全能信息中心掌控多信息源点我查看查看教程Jump打造极简导航,适配多端及多环境点我查看查看教程Shiori私有化部署的书签管理及知识库工具点我查看查看教程Aipan(爱盼)聚合全网资源的搜索项目点我查看查看教程Beaver Habit Tracker自托管习惯追踪及数据管理应用点我查看查看教程Homarr集中管理服务器Docker服务点我查看查看教程MeiliSearch搭建秒级响应网站搜索引擎点我查看查看教程Nextflux实现信息流管理的RSS解决方案点我查看查看教程YuIndex可命令操作的浏览器主页导航点我查看查看教程Wallabag保存网页内容,支持多端同步管理点我查看查看教程肥羊AllInOne聚合直播源、免维护的工具 查看教程 RSS Funnel实现RSS全文订阅及内容处理点我查看查看教程Dashy整合服务入口的开源导航工具点我查看查看教程SimpleDash整合高频操作的个人信息聚合中心点我查看查看教程go-drive聚合六大网盘的云盘管理工具点我查看查看教程LinkStack集中展示社交媒体重要链接点我查看查看教程OneNav开源跨设备同步的书签管理系统点我查看查看教程CommaFeed实现RSS阅读并可自建服务点我查看查看教程Full-Text-RSS网页正文提取,支持多网站全文RSS点我查看查看教程AList聚合18种网盘,支持多场景使用点我查看查看教程YaCy可自建受控搜索引擎并具多优势点我查看查看教程DashMachine集中管理书签并可视化展示数据点我查看查看教程Selfoss聚合多平台动态的RSS工具点我查看查看教程Flare整理书签、工具及搭建私有导航页点我查看查看教程Cypht聚合邮箱、支持RSS订阅的Web客户端点我查看查看教程WeWe RSS抓取公众号文章生成RSS订阅源点我查看查看教程Readflow搭建专属新闻站,全网好文随心看点我查看查看教程Servas支持多端同步协作的书签管理工具点我查看查看教程Huntly实现网页内容归档及多场景知识管理项目地址查看教程notnav基于Notion的智能导航站项目项目地址查看教程9.3 办公辅助项目标题项目简介项目地址教程star最近更新SkyOffice打造带多功能的虚拟办公环境点我查看查看教程WiseMapping支持协作的开源思维导图工具点我查看查看教程 wikmd基于Markdown搭建知识库的系统点我查看查看教程Dnote终端记录代码片段跨设备同步工具点我查看查看教程WeChat Markdown Editor用Markdown搞定公众号高颜值排版点我查看查看教程PPTist在线演示文稿工具,功能多格式通点我查看查看教程Claper实现PPT演讲弹幕投票等互动功能点我查看查看教程9.4 个人助手项目标题项目简介项目地址教程star最近更新WebLLM Chat可本地部署的浏览器端AI聊天系统点我查看查看教程BudgetBee搭建专属财务管理系统,记录收支点我查看查看教程Cogito支持Markdown的极简笔记系统点我查看查看教程cashbook可docker部署的私人记账工具点我查看查看教程Firefly III统一管理收支,支持多账户联动点我查看查看教程Plant-it记录植物养护操作的自托管工具点我查看查看教程9.5 时间管理项目标题项目简介项目地址教程star最近更新WeekToDo管理周计划的极简电子工具点我查看查看教程Baikal解决跨设备日程/联系人同步难题点我查看查看教程Noted Reminders自托管定时提醒系统,多渠道通知点我查看查看教程Todo自托管多设备同步待办管理工具点我查看查看教程 SideQuests实现待办任务管理与部署的系统点我查看查看教程AgenDAV实现多端同步的私有日程管理点我查看查看教程Cal.com智能协调日程、支持多平台集成点我查看查看教程Calendso实现日程安排流程自动化的工具点我查看查看教程memos三端同步的碎片化知识管理工具项目地址查看教程Kimai自由职业者和小微团队工时管理工具项目地址查看教程Traggo标签化时间追踪统计神器项目地址查看教程10、基础服务架构10.1 存储方案项目标题项目简介项目地址教程star最近更新LskyPro支持多存储、自带鉴黄的图床系统点我查看查看教程mTab集中管理设备书签,有企业级功能点我查看查看教程aliyundrive-fuse让阿里云盘直连媒体服务器看片点我查看查看教程HomeGallery自托管图片管理系统,支持AI识别等点我查看查看教程PanIndex集中管理多平台网盘文件工具点我查看查看教程FileRun可部署私有云盘,功能丰富易用点我查看查看教程GoHTTPServer搭建可共享文件、分发安装包服务器点我查看查看教程Ryot统一管理书籍、影视、健身数据点我查看查看教程Notea搭建专属知识库且功能丰富的工具点我查看查看教程novel-plus用Docker部署全能小说系统点我查看查看教程Reader3服务器版整合全网小说打造私人书库点我查看查看教程Slink自托管图床平台,可本地部署点我查看查看教程Librum搭建全平台电子书库并支持多端同步点我查看查看教程Dufs三分钟搭建可多端访问的私人云盘点我查看查看教程JmalCloud集网盘、办公、博客功能于一体点我查看查看教程Lomorage私有云相册实现照片自动备份和智能整理点我查看查看教程 飞牛私有云fnOS用旧设备搭建家庭数据中心方案点我查看查看教程 Share Me支持多格式的私有文件托管平台点我查看查看教程Markopolis免费共享Obsidian笔记的开源项目点我查看查看教程BabyBuddy记录婴儿成长数据并分析规律点我查看查看教程Picsur搭建支持多格式转换的私有图床点我查看查看教程Circled.me搭建私有相册,实现备份与共享点我查看查看教程FileGator支持多用户的私有云盘搭建神器点我查看查看教程LibrePhotosNAS搭建私有云相册及智能管理点我查看查看教程GreaterWMS实现仓储数字化管理的解决方案点我查看查看教程MinIO利用闲置主机搭建私有云存储点我查看查看教程 Damselfly基于AI的数码照片管理共享系统点我查看查看教程BookLogr自托管图书馆管理系统工具点我查看查看教程cloud189-cli可Docker部署玩转天翼云盘功能点我查看查看教程iStoreNAS使路由变存储中心的开源系统项目地址查看教程PhotoviewNAS相册管理,支持RAW及多功能项目地址查看教程UmbrelOS将旧设备改造成NAS的系统项目项目地址查看教程cosmos-server集安全防护与容器管理的NAS系统项目地址查看教程10.2 网络服务项目标题项目简介项目地址教程star最近更新RustDesk实现全平台远程桌面控制及管理点我查看查看教程YOURLS将任意网址压缩成专属短链并统计点击量点我查看查看教程Gopeed全平台多协议高速下载工具点我查看查看教程Plume可多平台同步的开源博客引擎点我查看查看教程 Mango自托管服务器管理漫画资源点我查看查看教程Exatorrent支持BT下载且能网页直接播放视频点我查看查看教程PaoPao CE支持多功能的开源微社区项目点我查看查看教程Moodle满足全流程教学需求的开源平台点我查看查看教程Nginx Proxy Manager基于Web管理Nginx,支持端口转发等点我查看查看教程Iperf3可精准测网速的Docker部署工具点我查看查看教程Pckd开源短链生成器,支持统计追踪点我查看查看教程Shlink缩短长链接并统计数据的开源服务点我查看查看教程Cherry支持跨平台同步的私有化书签管理点我查看查看教程SurveyKing集考试、问卷、刷题于一体的系统点我查看查看教程C-shopping全终端适配开源电商系统点我查看查看教程NeonLink自托管书签服务,支持多设备同步点我查看查看教程WriteFreely支持多功能的极简开源写作平台点我查看查看教程Comentario解决独立站评论系统痛点的开源项目点我查看查看教程 Snapp实现长链接缩短及多功能管理点我查看查看教程 yal生成适配多设备的导航页管理链接点我查看查看教程Nginx Proxy Manager为多子域名搞定泛域名HTTPS配置点我查看查看教程卷王考试系统支持问卷考试自动化的NAS系统项目地址查看教程幻兽帕鲁服务器搭建联机稳定的游戏专属服务器项目地址查看教程翼龙面板汉化版支持多游戏一键开服及管理项目地址查看教程MyIP网络诊断工具,集多功能于一体项目地址查看教程10.3 消息体系项目标题项目简介项目地址教程star最近更新PushDeer多端实时消息推送服务方案点我查看查看教程ntfy跨平台消息推送服务,部署简单点我查看查看教程Bark基于APNs将消息直达iPhone锁屏点我查看查看教程Gotify快速搭建本地实时消息推送平台点我查看查看教程🤝 如何贡献Fork 本仓库按格式添加新项目到 projects.yaml提交 Pull Request通过审核后合并到主分支格式要求:- category: "01、AI应用生态" - subcategory: "AI工具" - name: "LanguageTool" - description: "多语言语法校验工具" - repo: "https://github.com/languagetool-org/languagetool" - tutorial: "https://zhuanlan.zhihu.com/p/28636492929"📜 许可协议本项目采用 MIT License,欢迎自由使用和二次开发。
2026年01月04日
1 阅读
0 评论
0 点赞
1
2
...
12