你现在的位置:
函数REGEXP正则表达式操作
REGEXP 函数,用于正则表达式操作。
WPS 表格 和 Excel 365 的 REGEXP 函数在语法上有所不同,将分别说明:
一、WPS 表格 REGEXP 函数
1. 函数概述
REGEXP 是 WPS 表格特有的文本处理函数,允许使用正则表达式进行匹配、提取和替换操作。特别适合处理格式不统一的数据、提取特定模式的文本 。
2. 语法结构
=REGEXP(文本, 正则表达式, [匹配模式], [替换内容])
3. 参数详解
| 参数 | 必需 | 说明 |
|---|---|---|
| 文本 | 是 | 要处理的文本内容或单元格引用 |
| 正则表达式 | 是 | 用于匹配的模式(如 [0-9]+ 表示连续数字) |
| 匹配模式 | 否 | 0=提取(默认),1=判断(TRUE/FALSE),2=替换 |
| 替换内容 | 否 | 替换模式下,用于替换匹配内容的文本 |
4. 常用正则表达式符号
| 符号 | 含义 |
|---|---|
[0-9] 或 \d | 数字 |
[a-zA-Z] | 字母 |
[一-龟] | 中文字符 |
+ | 一个或多个 |
* | 零个或多个 |
^ | 开头(或表示”非”) |
$ | 结尾 |
. | 任意字符 |
(?=...) | 正向肯定预查(断言) |
(?<=...) | 反向肯定预查 |
\K | 重置匹配位置 |
5. 实用示例
示例 1:提取连续数字(如电话号码)
=REGEXP(A2, "[0-9]+")
- 从混合文本中提取所有连续数字
提取金额并求和:
=SUM(1*REGEXP(A2, "[0-9.]+(?=元)"))
(?=元)表示匹配”元”字之前的数字1*将文本转为数值后求和
示例 2:分离中英文混合内容
=REGEXP(A2, "[0-9]+") ← 提取数字
=REGEXP(A2, "[^0-9]+") ← 提取非数字(文字)
=REGEXP(A2, "[一-龟]+") ← 提取中文
示例 3:提取括号内的内容
=REGEXP(A2, "(.*)") ← 提取全角括号及内容
=REGEXP(A2, "(?<=().*(?=))") ← 仅提取括号内的内容
(?<=():左括号之后的内容.*:任意字符(?=)):右括号之前的内容
示例 4:判断模式(验证格式)
=REGEXP(A2, "^1[3-9]\d{9}$", 1) ← 验证手机号格式
1:判断模式,返回 TRUE/FALSE- 匹配以1开头,第二位3-9,后面9位数字
示例 5:替换模式(删除特定内容)
=REGEXP(A2, "_\\w{64}$", 2) ← 删除下划线及64位字符
2:替换模式- 省略第4参数(替换内容)等同于删除
示例 6:超级查找(按条件提取多个值)
=IFERROR(REGEXP(A2:A5, B1:D1&"\K[0-9.]+"), )
- 根据 B1:D1 区域的支付方式,分别提取对应金额
\K重置位置,提取支付方式后的数字
示例 7:按换行符或指定字符拆分
=REGEXP(A2, "[^,]+") ← 按逗号拆分
=REGEXP(A2, ".+") ← 按换行符拆分(每行提取)
二、Excel 365 REGEX 函数族
微软 Excel 365 提供了三个独立的正则函数 :
1. REGEXEXTRACT 函数(提取)
=REGEXEXTRACT(文本, 正则表达式, [返回模式], [区分大小写])
| 返回模式 | 说明 |
|---|---|
0(默认) | 提取第一个匹配 |
1 | 提取所有匹配(数组) |
2 | 提取捕获组(数组) |
示例:
=REGEXEXTRACT(B2, "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", 1)
- 提取所有邮箱地址
=TOROW(REGEXEXTRACT(B2, "(\d{4})-(\d{1,2})-(\d{1,2})", 2))
- 提取日期中的年、月、日,并横向展开
2. REGEXREPLACE 函数(替换)
=REGEXREPLACE(文本, 正则表达式, 替换内容, [出现次数], [区分大小写])
示例:
=REGEXREPLACE(A2, "(.{4})(?=.{4})", "$1-")
- 每4位插入连字符,格式化信用卡号
3. REGEXTEST 函数(检测)
=REGEXTEST(文本, 正则表达式, [区分大小写])
- 返回 TRUE/FALSE,判断文本是否匹配模式
三、WPS vs Excel 365 对比
| 特性 | WPS REGEXP | Excel 365 REGEX 函数族 |
|---|---|---|
| 函数数量 | 1个多功能函数 | 3个专用函数(EXTRACT/REPLACE/TEST) |
| 匹配模式 | 通过参数 0/1/2 切换 | 每个函数独立 |
| 返回模式 | 通过正则语法控制 | 专用 return_mode 参数 |
| 数组返回 | 需配合其他函数处理 | 原生支持动态数组 |
| 可用性 | WPS 表格特有 | Excel 365 / Web 版 |
四、注意事项
| 注意点 | 说明 |
|---|---|
| 版本要求 | WPS 需最新版;Excel 365 需 2024年后版本 |
| 正则风格 | Excel 365 使用 PCRE2 标准 |
| 文本转数值 | 提取的数字需用 1* 或 VALUE 转换才能计算 |
| 中文范围 | [一-龟] 可匹配常用汉字(龟字 Unicode 编码靠后) |
| 性能优化 | 大数据量时避免过度复杂的嵌套正则 |

发表回复