文本工具 · 字数统计

文本提取

提取邮箱/手机/URL/中文/数字

✓本地处理 · 不上传 ✓免费 · 无需登录 ✓无次数限制 累计 118 次使用
勾选类型即时提取 · 纯本地,文本不上传、不入 URL
就绪 · 等待输入
原文高亮 highlight
提取命中处将在此以赤金高亮标注
提取类型 types · 可多选
提取选项 options
分隔
0命中总数
0去重后
0启用类型
提取结果 result
就绪 · 纯本地正则提取,文本不上传、不入 URL
第一节

关于本工具

About

从一份招聘公告里扒出联系人邮箱,或者从客户留言中筛出手机号,手动复制粘贴翻页找,十分钟能做完的活拖到半小时。这个工具把纯文本或网页源码丢进去,一次筛出邮箱、手机号、URL、中文、数字五类内容,每类单独列一行,不用二次整理。所有提取在浏览器本地完成,文字不会离开设备,适合处理含联系方式的内部文档或未公开的页面源码。

使用场景

壹

后台日志筛手机号

某 SaaS 公司的运维凌晨排查用户报错,在 50 万行 Nginx 日志里找关联的手机号。手动 grep 正则写不对,漏掉带国家码 +86 或中间带空格的格式。把整段日志贴进工具,勾选「手机号」输出,3 秒拿到去重后的号码列表,直接去 CRM 查对应账号。

贰

合同里摘邮箱地址

法务助理整理去年 200 份采购合同,要把每份合同末尾的联系人邮箱单独摘出来做通讯录。PDF 转 Word 后邮箱混在正文里,逐份复制费了 2 小时。用本工具批量粘贴文本,勾选「邮箱」提取,一次性拿到 200 个邮箱,按合同编号排序后直接导入 Outlook。

叁

爬虫结果提 URL

独立开发者抓了某分类信息网站 3000 条帖子,原始数据里混杂着图片链接、外链和内链。他只需要帖子详情页的 URL 做去重入库。把整段 HTML 源码贴进工具,勾选「URL」提取,排除掉 jpg/png 结尾的图片链接,剩下 2800 条有效 URL 直接写进数据库。

肆

问卷反馈提中文

市场部回收了 500 份开放式问卷,用户填的内容夹杂着表情符号、英文品牌名和数字评分。分析师只想提取纯中文文本做词频分析。把原始回答逐条粘贴,勾选「中文」提取,过滤掉「👍」「iPhone14」「5分」等干扰项,剩下 4.2 万字的纯中文语料直接丢进 NLP 模型。

伍

发票备注栏摘数字

财务月底核对 80 张电子发票的备注栏,每张备注里既有文字又有数字,她只需要「合同编号」那串纯数字。逐张看眼睛快花了。把备注栏文本全部复制进工具,勾选「数字」提取,拿到 80 串编号后按发票号一一对应,核销速度从 3 小时缩到 20 分钟。

对比矩阵

维度本工具竞品 A(Regex101)传统方法(手工 / 脚本)
速度输入即出,毫秒级需编写正则后点击匹配,秒级手工逐条翻找,分钟至小时级
上手门槛零配置,粘贴即提取需掌握正则语法,有学习曲线需懂编程或手动复制粘贴
提取类型覆盖邮箱/手机/URL/中文/数字 五种一键全选需为每种类型单独写正则需分别识别不同模式,易遗漏
隐私纯浏览器处理,数据不上传部分功能需联网分析本地操作,但需自行管理文件
离线可用完全离线,无网络也可用需联网访问网站完全离线
批量处理一次粘贴多段文本,自动提取全部需逐段粘贴或写脚本循环只能逐条手动摘录
第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框粘贴或键入待提取的文本,支持中英文混排与长段落
  2. 2勾选要提取的内容类型:邮箱、手机号、URL、中文、数字,可多选
  3. 3点击「提取」按钮,结果区立即列出所有匹配项,每类分组显示
  4. 4点击任意结果项旁的复制图标,该内容自动存入剪贴板

输入输出示例

输入输出说明
请联系 support@example.com 或致电 13800138000。官网 https://www.quanbao5.com邮箱:support@example.com 手机:13800138000 URL:https://www.quanbao5.com常规:混合输入,同时提取邮箱、手机、URL,验证多类型并行提取能力
我的电话是 010-88886666,邮箱是 test@test.cn手机: 邮箱:test@test.cn边界:固话号码(010-88886666)不在提取范围内,只输出邮箱,说明工具不处理固话
中文内容:你好世界,数字:2024年,URL:http://abc.com中文:你好世界 数字:2024 URL:http://abc.com常规:同时提取中文、数字、URL,覆盖三种常见类型
邮箱:a@b.c(单字母域名),手机:12345678901(11位纯数字)邮箱:a@b.c 手机:12345678901边界:极短邮箱(a@b.c)和非常规手机号(非1开头但11位)均被提取,说明工具对格式宽松
数字:3.14159 和 -42,中文:测试数字:3.14159 数字:-42 中文:测试易错:小数和负数被正确提取,但输出中每个数字单独一行,无合并逻辑
无任何匹配内容,只有标点符号!!!易错:空结果输出空字符串,不返回提示信息,用户需自行判断无匹配
URL:ftp://files.example.com,邮箱:user+tag@domain.co.ukURL:ftp://files.example.com 邮箱:user+tag@domain.co.uk边界:支持 FTP 协议 URL 和带加号标签的邮箱,覆盖非常规格式

常见错误对照

1.手机号提取时漏掉 170/199 等新号段

✗ 错误正则写 1[3-9]\d{9}
✓ 修复1[3-9]\d{9} 或更精确的 1(?:3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}

工信部近年新增 170/199/166 等号段,简单 1[3-9]\d{9} 会漏掉 170 等号段,需按最新《电信网编号计划》更新正则。

2.邮箱提取时忽略点号或加号子地址

✗ 错误提取结果只保留 @ 前字母数字,如 'user+tag@example.com' 变成 'user@example.com'
✓ 修复保留完整邮箱:user+tag@example.com

RFC 5321 允许 local-part 包含点号和加号(如 user+tag),很多工具默认只取字母数字导致丢失子地址信息。

3.URL 提取时误把句号结尾的句子截断

✗ 错误从 '请访问 https://example.com。谢谢' 中提取出 'https://example.com。'
✓ 修复提取结果应为 'https://example.com',不含中文句号

中文标点(。,)紧跟在 URL 后时,正则若未加边界判断会把标点纳入,需在 URL 模式末尾加 (?![.。,]) 排除。

4.数字提取时把连在一起的日期或电话拆散

✗ 错误从 '2024-03-15' 提取出 ['2024', '03', '15'] 三个独立数字
✓ 修复提取结果应为 ['2024-03-15'] 或按原样保留连字符

用户常需要提取完整日期或电话号码,默认按数字连续匹配会拆散带分隔符的序列,应允许 - 和 / 作为数字的一部分。

5.中文提取时把标点符号也混入

✗ 错误从 '你好,世界!' 提取出 '你好,世界!'
✓ 修复提取结果应为 '你好世界',不含逗号叹号

Unicode 中中文标点(U+3000 范围)与汉字(CJK 统一表意文字)是不同的区块,需用 \p{Script=Han} 而非 \p{Punct} 来精确匹配汉字。

6.邮箱提取时漏掉 .cn / .com.cn 等二级域名

✗ 错误正则只匹配 .com/.net 结尾,如 'admin@example.com.cn' 被忽略
✓ 修复匹配任意有效域名后缀:.com/.cn/.com.cn/.org 等,或使用通用域名模式 [a-zA-Z0-9-]+(?:\.[a-zA-Z]{2,})+

国内大量企业邮箱使用 .com.cn 或 .cn 后缀,仅匹配常见顶级域会漏掉大量有效邮箱。

7.URL 提取时把图片文件名中的点号误判为域名分隔

✗ 错误从 'logo.png' 提取出 'logo.png' 当作完整 URL
✓ 修复仅提取包含协议(http/https)或 www 开头的字符串,不提取纯文件名

不带协议的文件名如 'logo.png' 不是可访问 URL,需加协议前缀判断避免误提取。

第三节

工作原理

How It Works

核心公式

匹配结果 = 正则表达式模式匹配(输入文本, 模式集合)

变量说明

  • 输入文本待提取的原始字符串
  • 模式集合邮箱/手机/URL/中文/数字的正则
  • 匹配结果提取出的匹配项列表

示例

输入文本为“联系邮箱abc@test.com,电话13800138000,网址https://example.com,中文你好,数字2024”。使用邮箱模式 [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} 匹配得到 abc@test.com;手机模式 1[3-9]\d{9} 匹配得到 13800138000;URL模式 https?://[^\s]+ 匹配得到 https://example.com;中文模式 [\u4e00-\u9fa5]+ 匹配得到“你好”;数字模式 \d+ 匹配得到 2024。最终输出列表 ["abc@test.com", "13800138000", "https://example.com", "你好", "2024"]。

原始文本(含邮箱/手机/URL等)正则匹配(5种模式并行)去重/排序(按类型分组)结果列表用户粘贴或输入浏览器内正则引擎合并同类项分类型展示匹配模式说明邮箱:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}手机:1[3-9]\d{9}(中国大陆) | URL:https?://[^\s]+
输入/输出节点 本地处理 数据整理
第四节

开发者集成

For Developers

5 种主流语言实现,复制即用:

import re text = "联系我: support@example.com 或 13800138000, 网址 https://site.com" emails = re.findall(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}', text) phones = re.findall(r'1[3-9]\d{9}', text) urls = re.findall(r'https?://[^\s]+', text) chinese = re.findall(r'[\u4e00-\u9fff]+', text) digits = re.findall(r'\d+', text) print("邮箱:", emails) print("手机:", phones) print("URL:", urls) print("中文:", chinese) print("数字:", digits)
const text = "联系我: support@example.com 或 13800138000, 网址 https://site.com"; const emails = text.match(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g) || []; const phones = text.match(/1[3-9]\d{9}/g) || []; const urls = text.match(/https?:\/\/[^\s]+/g) || []; const chinese = text.match(/[\u4e00-\u9fff]+/g) || []; const digits = text.match(/\d+/g) || []; console.log("邮箱:", emails); console.log("手机:", phones); console.log("URL:", urls); console.log("中文:", chinese); console.log("数字:", digits);
package main import ( "fmt" "regexp" ) func main() { text := "联系我: support@example.com 或 13800138000, 网址 https://site.com" emailRe := regexp.MustCompile(`[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}`) phoneRe := regexp.MustCompile(`1[3-9]\d{9}`) urlRe := regexp.MustCompile(`https?://[^\s]+`) chineseRe := regexp.MustCompile(`[\p{Han}]+`) digitRe := regexp.MustCompile(`\d+`) fmt.Println("邮箱:", emailRe.FindAllString(text, -1)) fmt.Println("手机:", phoneRe.FindAllString(text, -1)) fmt.Println("URL:", urlRe.FindAllString(text, -1)) fmt.Println("中文:", chineseRe.FindAllString(text, -1)) fmt.Println("数字:", digitRe.FindAllString(text, -1)) }
#!/bin/bash text="联系我: support@example.com 或 13800138000, 网址 https://site.com" echo "邮箱:" echo "$text" | grep -oE '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' echo "手机:" echo "$text" | grep -oE '1[3-9][0-9]{9}' echo "URL:" echo "$text" | grep -oE 'https?://[^ ]+' echo "中文:" echo "$text" | grep -oP '[\x{4e00}-\x{9fff}]+' echo "数字:" echo "$text" | grep -oE '[0-9]+'
<?php $text = "联系我: support@example.com 或 13800138000, 网址 https://site.com"; preg_match_all('/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/', $text, $emails); preg_match_all('/1[3-9]\d{9}/', $text, $phones); preg_match_all('/https?:\/\/[^\s]+/', $text, $urls); preg_match_all('/[\x{4e00}-\x{9fff}]+/u', $text, $chinese); preg_match_all('/\d+/', $text, $digits); echo "邮箱: " . implode(', ', $emails[0]) . "\n"; echo "手机: " . implode(', ', $phones[0]) . "\n"; echo "URL: " . implode(', ', $urls[0]) . "\n"; echo "中文: " . implode(', ', $chinese[0]) . "\n"; echo "数字: " . implode(', ', $digits[0]) . "\n"; ?>
第五节

常见问题

Q & A
问我有一段文字里既有手机号又有邮箱,能一次全提取出来吗?+
答

可以。本工具支持同时提取多种类型,包括手机号、邮箱、URL、中文、数字。你只需要把文本粘贴到输入框,点击提取,结果区会按类型分组展示,每种类型对应一个结果框,方便你单独复制或全选。不需要分多次操作。

问提取出来的手机号为什么有些是 11 位有些不是?+
答

本工具提取手机号时默认匹配连续 11 位数字(以 1 开头),但文本中如果存在区号+号码(如 010-12345678)或短号(如 10086),这些不会被识别为手机号。另外,如果号码中间有空格或横线,也会被拆断。建议先清理文本中的多余符号,或者手动检查结果中是否有漏掉的情况。

问提取出来的邮箱格式看起来不对,有办法过滤掉无效的吗?+
答

本工具基于正则匹配,会提取所有形如 xxx@xxx.xx 的字符串,包括部分非真实邮箱(如 test@test.com 或乱码)。目前不内置有效性校验(如 MX 记录查询),所以如果你需要过滤无效邮箱,建议在提取后手动核对,或者对结果中的域名做一次简单的拼写检查(比如 @qq.com 写成 @qq,com 的常见错误)。

问我贴了一大段网页源码,提取 URL 时把图片链接也算进去了,怎么只提网页链接?+
答

本工具提取 URL 时基于 http/https 协议前缀匹配,不会区分链接类型(图片、CSS、JS 文件也会被提取)。如果你只想提取网页链接(如 HTML 页面地址),建议先在文本中过滤掉包含 .jpg、.png、.css、.js 等后缀的链接,或者提取后手动筛选。工具本身不提供按文件类型过滤的功能。

问提取中文的时候,标点符号和空格也会被算进去吗?+
答

不会。提取中文时只匹配汉字(Unicode 中的 CJK 统一表意文字),不包含中文标点(如逗号、句号、引号)和空格。所以结果中每个中文片段都是连续的汉字序列。如果你需要保留标点(比如提取完整的句子),建议先手动复制包含标点的部分,或者用其他文本处理工具配合使用。

问这个工具提取数字的时候,小数点、负号、百分号能一起提取吗?+
答

默认只提取纯数字(0-9 连续序列),不会包含小数点、负号或百分号。比如“-3.14%”只会提取出“314”三个数字片段。如果你需要提取带符号的数字(如负数、小数、百分比),建议先对文本做预处理(如替换符号为空格),或者提取后手动拼接。工具目前不提供符号保留选项。

问提取结果里有很多重复项,怎么快速去重?+
答

本工具目前不内置去重功能,结果区会展示所有匹配项(包括重复)。你可以将结果复制到文本编辑器或 Excel 中使用去重功能,或者在提取前先对原文做一次去重处理(比如用在线去重工具)。如果需要批量处理大量文本,建议配合脚本或专业数据清洗工具使用。

问我提交的文本超过一万字了,会不会被截断或者报错?+
答

本工具基于浏览器前端处理,没有服务器上传限制,理论上文本长度只受浏览器内存限制。但超过几万字时,页面渲染和正则匹配可能会变慢,甚至导致浏览器卡顿。建议分段处理(比如每次 1-2 万字),或者先删掉无关内容再提取。工具本身不会主动截断你的输入。

问提取出来的手机号和邮箱,能直接一键复制到剪贴板吗?+
答

可以。每个结果框右上角都有一个复制按钮(图标为复制符号),点击即可复制该类型下的所有结果到剪贴板。如果你只需要复制其中某一条,可以手动选中后按 Ctrl+C(Mac 用 Cmd+C)。结果框也支持全选(Ctrl+A)后复制。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

↑↓选择 ↵打开 ⌘+↵新窗口 esc关闭