文本提取
文本所有处理都在浏览器本地完成,数据不上传服务器
「从这段日志里把所有 IP 抠出来」「这份名单里有几个邮箱」「这堆文本里的链接都列一下」是每天都会遇到的事,而在编辑器里做要么靠正则(每次都要重新想一遍写对没有),要么靠肉眼(几百行就开始出错)。 ⚠️ 每一类都只做确认无疑的匹配,宁可少捞不捞错的:一个「提取到 37 个电话」的结果里混进 20 个订单号,用户就得逐个核对 —— 那比没有这个功能更费事。所以: · 手机号只认中国的 `1[3-9]` 开头 11 位,以及明确带 `+` 的国际号。不带区号的一串 10 位数字可能是任何东西。 · IP 逐段验证 0–255,`999.1.1.1` 这种不收。 · 银行卡号要求通过 Luhn 校验(复用「号码校验」里那份实现),否则订单号、时间戳会全被捞进来。 · 身份证要求 18 位且校验位正确。 结果按类型分组,逐条给出在原文中的位置并汇总数量 —— 位置是给核对用的:一份几百行的文本里,把第 3 个邮箱和第 4 个看混是很容易发生的。
功能
- 十一类:链接、邮箱、电话、IP、MAC、身份证、银行卡号、日期、话题标签、@ 提及、数字
- 六种预设一次切换:常用 / 全部 / 网络相关 / 联系方式 / 敏感信息 / 只提取数字
- ⚠️ 只做确认无疑的匹配 —— 手机号限号段、IP 逐段验 0–255、卡号要求通过 Luhn、身份证要求校验位正确
- 按类型分组,逐条给出在原文中的出现位置(从 1 开始、按码点算,emoji 不会让位置错位)与汇总计数
- ⚠️ 可选「逗号当小数点」(`3,14` → `3.14`)—— 默认关闭,因为 `1,234` 在英文习惯里是一千二百三十四
- ⚠️ 链接与邮箱形态重叠时只算一次(链接近优先),不会在同一条上重复计数
- 去重按值:邮箱忽略大小写(同一个地址),链接区分大小写(路径大小写常常是两个页面)
- ⚠️ 捞到银行卡号时附一句「符合 Luhn 不一定是卡号」,并指向号码校验工具逐个核对
- 一次贴多行也没问题,结果按出现位置排序
使用方法
- 把文本粘进来
- 在「提取哪些」里选一个预设(默认是常用的四类)
- 结果按类型分组逐条列出,最上面是汇总计数
常见问题
- 为什么有些明显是电话的号没被提取出来?
- 因为没有区号的号码无法确认。一串 10 位数字可能是电话号码、订单号、身份证的一部分或时间戳 —— 而「提取到 37 个电话」里混进 20 个订单号时,用户得逐个核对,那比没有这个功能更费事。所以这里只收中国的 `1[3-9]` 开头 11 位手机号,以及明确带 `+` 的国际号。要捞别的形态,用一个正则就行(本站的「正则测试」可以边写边看命中)。
- 为什么银行卡号要求通过 Luhn?
- 因为只按位数收会捞进来一大堆东西:13 到 19 位的纯数字在日志里到处都是(订单号、时间戳、长 ID)。而 Luhn 能挡掉其中约九成 —— 但不是全部,恰好符合 Luhn 的长数字仍然会进来。所以捞到之后请用「号码校验」逐个核对,那一页会说清「校验位通过 ≠ 卡号真实存在」。
- 链接和邮箱重叠时会算两次吗?
- 不会。`https://example.com/?to=a@b.com` 里既有链接也有邮箱形态的片段,而链接的匹配范围更大 —— 不做处理的话同一段文字会被两类各收一次,汇总里就多出一个。这里按「已占用区间」处理:扫描顺序是先具体后笼统,被更具体的类型先占住的片段,后面的类型会跳过。
- 去重为什么对链接区分大小写、对邮箱不区分?
- 因为大小写在两类里的含义不同。`a@b.com` 与 `A@B.COM` 是同一个邮箱(域名不区分大小写,本地部分在实践中也不区分),算一个才对。而 `https://x.com/A` 与 `https://x.com/a` 在很多服务器上是两个不同的页面 —— 合并它们会让用户以为只有一个链接。
- 「逗号当小数点」为什么不默认打开?
- 因为逗号在数字里的含义是有歧义的。`3,14` 在欧洲、南美等地区是「三点一四」,但在英文习惯里 `1,234` 是「一千二百三十四」—— 同一个逗号,一个当小数点、一个当千分位。这点歧义没法从文本本身判断,而猜错的后果是数量级看错(1.234 与 1234 差了一千倍),结果看起来却完全正常。所以它默认关闭,只在你确认数据的来源地区之后自己打开。
- 出现位置是怎么数的?
- 从这段文本的第 1 个字符开始数,按码点算 —— 一个 emoji 算一个字符。所以 `👍 a@b.com` 里的邮箱在位置 3,而不是按字符串下标算出来的 4。同一个值出现多次时会把每一处都列出来(最多 20 处,再多就只给总处数),位置是给你回原文核对用的。
相关工具
文本对比
文本把两份文本逐行对比,高亮标出新增、删除与未改动的行,改动按最小差异对齐,而不是整段标成变了。全部在浏览器本地完成,内容不上传。
字数统计
文本中英混排的文本到底有多长?中文按字、英文按词分开统计,给出字符数、行数、字节数、阅读与朗读时长,以及会被切成几条短信。全部在本机完成。
文本清洗
文本清洗从日志或表格里复制出来的一列内容:去重行、排序、去空行、去首尾空白、去行号、合并多空格,规则逐条开关。粘贴的内容只在本机处理。
命名风格转换
文本在十四种命名风格之间转换标识符,拆词时认得 fooBarBaz 与 FOO_BAR 这类混写,连续大写也会按词拆开。全部在浏览器本地完成,不上传。
简繁转换
文本在简体与繁体之间互转中文,常用词整词替换,其余字取最常见写法,因此个别字词仍需人工核对。全部在浏览器本地完成,不上传。
正则测试
文本浏览器里调试正则:匹配实时高亮、捕获组、替换预览,并挡住灾难性回溯;调好可生成 JavaScript、Python、Java、Go、PHP 代码,反向引用按语言转换。