服务在 https://texttoolkit.com/re.findall ,接下来说说废话。
我工作日常需要用各种内部管理系统,查看监控、日志、按机器 IP 过滤列表等等 ,经常需要人肉从界面 A 抠出来一堆 IP 列表到页面 B 操作,一两个 IP 都好说, 上了 5 个以上的时候就会把自己搞得很烦躁,感觉自己就是个机器。
也尝试过一些批量的办法:
可行是可行,但抵挡不住内部系统各种 UI 不统一的问题,比如多 IP 分隔符,有的时候格式是 IP1|IP2
,
有的时候又是 IP1,IP2
,使得上面的方法都不太灵活,每次用的时候都需要稍微定制一番,
每个工具的正则语法可能还会有一点点差异。
于是我就想,是否有别的更好的方法呢?有天想到可以利用正则来很好的完成这个任务, 而且正则还有一个 bonus,那就是对于数据没有“格式”要求,不像 awk 那样针对特定的列, 只要满足 pattern 即可;另外对于 join 的符号,也可以在界面上很方便地更改。
举一个开发例子,出于某种原因,你现在需要提取 protobuf 定义的所有字段名字,那也可以用这个服务来完成。 比如定义如下:
message Person {
required string Name = 1;
required int32 Id = 2;
optional string Email = 3;
}
那么用正则也很简单,用 (\w+) =
即可把它们都抓出来。
某天你上网看到一篇好文章,里面包含了大量精美的图片,你想把图片 url 都找出来,然后用 wget 下载下来, 在本地保存一份,这个服务也可以帮一点忙。
img.*?src="([^"]+)"
1
whatacold OP v2ex 上传头像功能是挂掉了吗?想换下头像,试了几次都不行:(
|
2
hxsf 2021-05-30 14:53:09 +08:00
场景 1 建议试试自己写个 油猴脚本,直接 js 取 dom 会更加方便,给页面直接加个按钮,点击之后直接复制到剪切板。
|