超级文本替换

超级文本替换 公开

如何安装动作?

适用于
分类
文本处理 功能增强
Clancy Wen jjll77 随缘惜缘 roadmanx Cesar 18 人赞了这个动作

3 个动作单 收藏了此动作。

更多信息
分享时间 2022-04-30 21:28
最后更新 16天17小时前
修订版本 4
限制再分享
Quicker版本 1.34.30
动作大小 100.3 KB

分享到

「可能是最丝滑的文本替换动作」

简介

💡     视频介绍    

限于视频体积,请移步B站(建议全屏观看) 点我

💡     小白使用指南    

替换规则是以正则表达式和C#表达式为基础的,作为小白的我可以多大程度上使用动作?



1. 使用现成的替换规则库。动作预置了尽可能多的替换规则,开箱即用。以后如果有添加,会更新到动作右键菜单的「规则参考」里面。


2. 不是所有替换需求都需要用到正则替换的,如果我希望用普通替换创建规则,怎么操作呢?在正则框输入要查找的文本,开头加上 \Q, 就是普通的查找替换了。(同样适用于批量替换模式,示例写法 \Q1+2*3|7


3. 规则库里的不少规则是模板性质的,只要稍作修改就能符合具体需求,并不要求掌握正则表达式或C#语法。比如规则 “匹配的数字乘以10”、“匹配的数字保留2位小数”、“每行文本添加前缀”、“保留字数>20的文本行” 等等,猜猜改改。



4. 如果你的需求可以由规则库现成的规则组成,那么你可以自由组合已有规则,创建一条相对复杂的规则流。

例如,把以下的规则组合成一条新的规则:一键排版

去除每行前后空白 → 合并断行 →  删除空白行 →  段首缩进2字符 → 隔行插入空行


5. 最后的最后,如果不会写规则,欢迎在动作讨论区留言交流。



💡     快速参考    

正则选项

如需启用正则选项,请使用内联修饰符:

正则选项内联字符
IgnoreCase 忽略大小写i
Singleline 单行模式s
Multiline 多行模式m

示例:(?is)abc 表示正则表达式 abc 启用“忽略大小写”和“单行模式”。

替换表达式

$= 启用替换表达式
$& 代表整个正则的匹配文本
$1 代表正则第一个捕获组的匹配文本

示例:
把匹配结果转换为大写
正则:\w+
替换:$= $&.ToUpper()

批量替换

每行一对查找和替换内容。中间使用||||分隔。例如将a替换成A,写作:a|A 或 a|||A

批量替换同样支持表达式替换

实际上动作采用 ◉✪◒ 作为分隔符,竖线会自动转换为 ◉✪◒ 保存。

允许竖线是为了方便书写,并且和 Quicker 语法保持一致。

正则语法

.NET 正则快速参考

动作专门为中文环境自定义了一系列正则语法

语法 匹配     说明及示例
\a几乎任何字符匹配除了 \r , \n 以外的任何字符。示例,每行插入前后缀: 【源文本】“123\r\n456" 【正 则】\a+ 【替换为】前$&后 【结果文本】“前123后\r\n前456后”
\A任何字符匹配包括 \r, \n 在内的任何字符,等同于“单行模式”下的点号 .
\e英文字母匹配任意英文字母,等价于 [a-zA-Z]
\EASCII字符匹配任意ASCII字符。示例,提取英文句子: 【源文本】hello, world! 你好,世界! 【正 则】\E+ 【匹配结果】hello, world!
\h汉字匹配任意汉字(Unicode基本平面)
\H非ASCII字符匹配任意非ASCII字符。示例,提取中文句子: 【源文本】hello, world! 你好,世界! 【正 则】\H+ 【匹配结果】你好,世界!
\c中文小写数字等价于 [〇一二三四五六七八九十百千万亿兆] ,示例: 【源文本】第五十八回 潘金莲打狗伤人 孟玉楼周贫磨镜 【正 则】第\c+回 【匹配结果】第五十八回
\C中文大写数字等价于 [零壹贰叁肆伍陆柒捌玖拾佰仟亿兆] ,示例: 【源文本】人民币壹仟陆佰捌拾元整 【正 则】\C+ 【匹配结果】壹仟陆佰捌拾
\;类型边界匹配字母串、数字串、汉字串的开头或结尾。示例,匹配没有包含在数字串里面的数字: 【源文本】20220122 第22天共220小时 【正 则】\;22 【匹配结果】匹配到第三个和第四个22 【正 则】\;22\; 【匹配结果】只能匹配到第三个22
\<行首匹配每行的开始处,即字符串的开头或 \r\n , \r , \n 之后的位置
\>行尾匹配每行的结尾处,及字符串的末尾或 \r\n , \r , \n 之前的位置
\Q普通匹配放在正则表达式的最开头,消除所有元字符的特殊含义 \Q1+2*3 等同于 1\+2\*3

💡     其他    

预置的规则都经过500万字大文本测试,性能还可以。


最近更新

修订版本 更新时间 更新说明
4 16天17小时前 增加“规则参考”右键菜单
并添加一系列文本行排序规则
3 2022-08-09 18:31 新增一系列自定义的正则语法
2 2022-07-25 15:20 自定义了几个简写字符类:

\c 匹配任意中文小写数字,
示例:第\c+章 可匹配文本 第三百五十六章

\C 匹配任意中文大写数字
示例:\C+圆 可匹配文本 叁仟伍佰陆拾肆圆

\h 匹配任意汉字(Unicode基本平面)

最近讨论