正则工具用于测试、调试和应用正则表达式(一种文本模式匹配工具)
一、正则表达式
1. 简介
正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式。
就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个【规则字符串】,这个【规则字符串】用来表达对字符串的一种过滤逻辑。
正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。
2. 用途
(1)字符串匹配(字符匹配)
(2)字符串查找
(3)字符串替换
3. 常用元字符及描述
元字符 | 作用 | 等价表达 |
\d | 匹配一个数字字符 | [0-9] |
\D | 匹配一个非数字字符 | [^0-9] |
\s | 匹配任何空白字符,包括空格、制表符、换页符等 | [ \f\n\r\t\v] |
\S | 匹配任何非空白字符 | |
\w | 匹配构成单词的字符(字母、数字、下划线) | [A-Za-z0-9_] |
\W | 匹配非构成单词的字符 | [^A-Za-z0-9_] |
\p{Lower} | 英文的小写字母 | |
. | 任意一个字符 | |
X* | 任意次数 | |
X+ | 一次或多次 | |
X? | 最多一次 | |
X{n} | 正好n次 | |
X{n,} | 最少n次,上不封顶 | |
X{n,m} | 最少n次,最多m次 | |
[] | 表示一个范围 | |
[a-z]|[A-Z] [a-zA-Z] [a-z[A-Z]] |
a到z,或A到Z | |
[A-Z&&[RFG]] | A到Z并且RFG (交集的意思) | |
“a?” | 零宽度匹配,表示匹配字符“a”出现零次或一次 |
边界匹配
符号 | 含义 |
^ |
开头。正则表达式 |
$ | 结尾。例如.*ir$ |
\b | 一个单词的边界,空格、换行…… |
^[\s&&[^\n]]*\n$ | 空白行,开头是空白字符但不是换行符,出现0次或多次,且紧跟着是结束的换行符 |
4. 常用正则表达式
正则表达式 | 作用 |
[0-9]+ | 匹配所有数字 |
\s+ | 去除所有空格 |
: | 匹配任意字符 |
([\s\S]*) ([\d\D]*) ([\w\W]*) |
匹配包括换行符在内的任意字符 |
([\s\S]*?) | 加上问号,表示最短匹配 |
\d{4}-\d{2}-\d{2} | 匹配时间 |
20\d{2}(([^\d]|/s|//|:)?\d{1,2}){5} | 匹配时间 |
[0-9]{4}年[0-9]{1,2}月[0-9]{2}日[\s\S]*[0-9]{2}:[0-9]{2} | 匹配时间 |
[0-9-:]+ | 匹配日期 |
[0-9|.]+[k|K|m|M|g|G|片|枚|/|L||克|l|/]+ | 匹配标题 |
[0-9|.]{1,10}[mm] | 匹配长度 |
[0-9|.][0-9|/]{1,10}[k|K|m|M|g|G|p|片|枚|支|个|盒|条|对|/|L||克|l|/|0-9]+ | 匹配数量和单位 |
\B. | 名字只保留姓氏 |
(?<=[0-9]{3})(.)+(?=[0-9]{4}) | 电话加密 |
([\s\S]*?)(?=来源) | 以XX为结束 |
\b([^ ]+?)\b(?= and ) | 空格开始获取and前第一个单词 |
(\s*$) | 去除尾部空格 |
(?<=<img)(.+?)(?=>) (?<=src=")(.+?)(\.jpg|\.png|\.gif|\.bmp|\.jpeg) (?<=src=")(.+?)(\.jpg|\.png|\.gif|\.bmp|\.jpeg|\.JPG|\.PNG|\.GIF|\.BMP|\.GIF) [^/]+.jpg [^/]+(\.jpg|\.png|\.gif|\.bmp|\.jpeg) (http:|https:|//)(.+?)(\.png|\.jpg|\.gif|\.bmp|\.jpeg) |
匹配图片 |
5.注意事项
(1)如果要匹配出 \ | 这两个符号要在表达式里面加下反斜杠\
示例用八爪鱼RPA正则工具演示: \\ \|
(2)表示开始、结束的表达式
以什么开始不包含:(?<=开始字符)
以什么结束不包含:(?=结束字符)
表示任意字符(.+?)
二、八爪鱼RPA正则工具
使用八爪鱼RPA内置的正则工具可以辅助大家轻松写出正则表达式
2.1 如何找到正则工具
方式① 应用编辑界面 | 方式② 主界面 | 方式③ 指令内快捷入口 |
应用编辑界面--->工具箱--->正则工具 |
客户端内任意界面--->头像--->工具--->正则工具 |
【正则匹配】指令内含”正则工具“快捷入口 |
2.2 如何使用正则工具
正则表达式工具界面如下图所示,输入待转换的源文本,在右侧”自动生成“栏里输入起始位置和结束位置(如果没有限制可以留空),勾选是否包含开始结束,输入是否包含某个字段
使用案例
例如,我们希望获取【八爪鱼RPA客户端更新日志】的网址链接,而部分网址链接隐藏于源码之中,那么怎么找到提取目标网址的链接呢?
首先在网页内鼠标右键选择”检查“,查看网页源码内容,单击左侧图标,定位到目标元素
找到目标元素以后,右击复制元素,输入到正则工具内,确定目标网址开始和结束相邻字段,可添加【包含一个】内容
输入完成后,点击完成,生成正则表达式
点击匹配测试匹配结果,成功提取出目标网址
相关指令
正则表达式应用广泛,八爪鱼 RPA 数据处理中很多指令都可以应用正则表达