分享时间 | 2022-04-30 21:28 |
最后更新 | 10天20小时前 |
修订版本 | 15 |
用户许可 | -未设置- |
Quicker版本 | 1.42.15 |
动作大小 | 178.9 KB |
替换规则是以正则表达式为基础的,作为小白的我可以多大程度上使用动作?
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 代表正则第一个捕获组的匹配文本
$# 代表匹配项的序号(始于1)
示例1:
把匹配结果转换为大写
正则:\w+
替换:$= $&.ToUpper()
示例2:
每行文本添加序号
正则:(?m)^
替换:$= $# + "."
每行一对查找和替换内容。中间使用|或|||分隔。例如将a替换成A,写作:a|A 或 a|||A
批量替换同样支持表达式替换
实际上动作采用 ◒◒◒ 作为分隔符,竖线会自动转换为 ◒◒◒ 保存。
允许竖线是为了方便书写,并且和 Quicker 语法保持一致。
语法 | 匹配 | 说明及示例 |
---|---|---|
\o | 几乎任何字符 | 匹配除了 \r , \n 以外的任何字符。示例,每行插入前后缀: 【源文本】“123\r\n456" 【正 则】\o+ 【替换为】前$&后 【结果文本】“前123后\r\n前456后” |
\O | 任何字符 | 匹配包括 \r, \n 在内的任何字符,等同于“单行模式”下的点号 . |
\e | 英文字母 | 匹配任意英文字母,等价于 [a-zA-Z] |
\E | ASCII字符 | 匹配任意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 |
修订版本 | 更新时间 | 更新说明 |
---|---|---|
15 | 10天20小时前 | - 优化生成调用命令 |
14 | 2023-12-20 08:50 |
- 优化分隔符特例
- 新增「显示菜单」模块的启动界面,运行动作参数填写“显示菜单”即可 - 执行替换规则或选项菜单后,可重复弹出窗口(偏好选项) - 「替换为」支持插入剪贴板文本,${c} 代表剪贴板文本 - 「替换为」支持 \x20 输入空格(便于规则的可读性) - 「替换为」可以在非 $= 模式下使用 $# |
13 | 2023-11-22 14:02 | - 修复:调用问题 |