好用的插件
以下是 RegReplace 插件支持的参数的Markdown表格:
| 参数名 |
类型 |
说明 |
| name |
(str) |
规则名称。必填项。 |
| find |
(str) |
正则表达式模式或文字字符串。使用 (?i) 以进行不区分大小写匹配。使用 (?s) 以进行 dotall 匹配。详细信息请参考 Python re 文档。除非定义了 “scope”,否则必填项。 |
| replace |
(str - 默认为 r’\g<0>’) |
替换模式。 |
| literal |
(bool - 默认为 False) |
执行非正则表达式的文字搜索和替换。 |
| literal_ignorecase |
(bool - 默认为 False) |
在 “literal” 为真时,忽略大小写。 |
| scope |
(str) |
要搜索并应用可选正则表达式的作用域。除非定义了 “find”,否则必填项。 |
| scope_filter |
([str] - 默认为 []) |
包含匹配的作用域限定符数组。仅在未定义 “scope” 时使用。 |
| greedy |
(bool - 默认为 True) |
对所有实例应用操作(查找所有)。当定义了 “find” 时使用。 |
| greedy_scope |
(bool - 默认为 True) |
查找所有由 “scope” 指定的作用域。 |
| format_replace |
(bool - 默认为 False) |
使用格式化字符串样式的替换模板。仅对 Regex(带和不带反向引用)和 Re(带反向引用)有效。详细信息请参考 这里。 |
| selection_inputs |
(bool - 默认为 False) |
使用选择作为查找模式的输入。全局设置 “selection_only” 必须禁用才能使用此选项。 |
| multi_pass |
(bool - 默认为 False) |
当正则表达式无法格式化以找到所有实例时,在作用域区域上执行多次扫描以查找和替换所有实例。由于替换可能会更改作用域,这可能很有用。 |
| plugin |
(str) |
为更高级的替换逻辑定义替换插件。仅用于正则表达式替换和替换。 |
| args |
(dict) |
“plugin” 的参数。仅用于正则表达式替换和替换。 |
法律分基正则替换
{
"replacements":
{
"目录章是顶格的":
{
"find": "^目[^a-z]+^(?=第一章)",
"replace": "\n",
"greedy": true
},
"空格":
{
"find": " ",
"replace": "",
"greedy": true
},
"英文空格":
{
"find": " ",
"replace": "",
"greedy": true
},
"头":
{
// "find": "\\A\\s+^([\u4e00-\u9fa5].*)$",//法规专用
"find": "\\A^([\u4e00-\u9fa5].*)$",//规章专用,因为规章是页面手动复制
"replace": "---\ntitle: \\1\nshixing_date: 2025-01-20\ncategory: 行政法规\ndescription: \\1\ntag: \n---\n\n\n# \\1",
"greedy": true,
// "multi_pass": true
// "format_replace": true
},
"编":
{
"find": "^(第[一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+编)",
"replace": "## \\1",
"greedy": true
},
"分编":
{
"find": "^(第[一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+分编)",
"replace": "### \\1",
"greedy": true
},
"章":
{
"find": "^(第[一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+章)",
"replace": "\n#### \\1", //国务院行政法规由于“引用快”的根据不能很好的处理换行,先在章前面加入换行
"greedy": true
},
"节":
{
"find": "^(第[一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+节)",
"replace": "##### \\1",
"greedy": true
},
"条":
{
"find": "^(第[零一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾百千]+条)",
"replace": "+ **\\1**",
"greedy": true
},
"中文序号":
{
"find": "^(([一二三四五六七八九十]+))",
"replace": " - \\1",
"greedy": true
},
"序号":
{
"find": "^([(][\u4e00-\u9fa5].*[)])",
"replace": " - \\1 ",
"greedy": true
},
// "页头":
// {
// "find": "^\\A\\s+",
// "replace": "\n# ",
// "greedy": true
// },
"括号开头根据":
{
"find": "[\uff08](\\d)",
"replace": "\n> * \\1",
"greedy": true
},
"根据括号节尾":
{
"find": "(?s)[\uff09]\\s*$",
"replace": "\n",
"greedy": true
},
"辅助信息": //测试用例: (2007年7月11日中华人民共和国国务院令第500号公布 根据2016年2月6日《国务院关于修改部分行政法规的决定》第一次修订 根据2019年3月2日《国务院关于修改部分行政法规的决定》第二次修订)
{
// "find": "^[(]([0-9]*[\u4e00-\u9fa5])",
"find": "^[(]([0-9].+)[)]$",
"replace": "> * \\1",
"greedy": true
},
"辅助信息中文括号": //测试用例: (2009年3月27日云南省第十一届人民代表大会常务委员会第九次会议通过 根据2018年11月29日云南省第十三届人民代表大会常务委员会第七次会议《云南省人民代表大会常务委员会关于废止和修改部分地方性法规的决定》第一次修正 根据2021年9月29日云南省第十三届人民代表大会常务委员会第二十六次会议《云南省人民代表大会常务委员会关于废止和修改部分地方性法规的决定》第二次修正)
{
// "find": "^[(]([0-9]*[\u4e00-\u9fa5])", ((.+?)(根据.+)(根据.+))
"find": "[\\s\\s](根据[^《]+《[^》]+》[^根据][\u4e00-\u9fa5]+)",
"replace": "\n> * \\1\n",
"greedy": true
},
"辅助信息的行内多个根据":
{
"find": "[ ]([根据]\\d{4}年\\d{1,2}月\\d{1,2}日\\W+[\u4e00-\u9fa5]+)[)]",
"replace": "\n> * \\1",
"greedy": true
},
"根据":
{
"find": "[ ](根据[^《]+《[^》]+》[^根据][\u4e00-\u9fa5]+)", //这个根据是辅助内容含个根据,处理时不会匹配到正文的根据字段
"replace": "\n> * \\1",
"greedy": true
},
"辅助信息B"://测试用例: (1999年5月28日吉林省第九届人民代表大会常务委员会第十次会议通过 2001年9月29日吉林省第九届人民代表大会常务委员会第二十六次会议修改 2023年4月4日吉林省第十四届人民代表大会常务委员会第二次会议修订)
{
"find": "(\\d{4}年\\d{1,2}月\\d{1,2}日[^\\d年月日起施行。]+)",
"replace": "\n> * \\1",
"greedy": true
},
// //消除 > *
"消除辅助信息的空白引用符号":
{
"find": ">\\s\\*\\s\\n",
"replace": "",
"greedy": true
},
"辅助信息A": //测试用例: (2018年12月5日国务院第33次常务会议通过 2019年4月14日中华人民共和国国务院令第712号公布 自2019年7月1日起施行)
{
"find": "[ ](\\d{4}年\\d{1,2}月\\d{1,2}日[\u4e00-\u9fa5].*)[ ]",
"replace": "\n> * \\1",
"greedy": true
},
"目录":
{
"find": "^目.*录(\\n第.*)*\\s*$",
"replace": "\n",
"greedy": true
},
"小于号":
{
"find": "(<)",
"replace": "\\\\\\1",
"greedy": true
},
"正文超链接":
{
"find": "(《(中华[^》]+法|[^》]+条例)》)",
"replace": "[\\1]()",
"greedy": true
},
// "英文括号家里测试版": //办公室那个居然未保存?
// {
// // "find": "^[\\(]([0-9]+.+)[\\)]$",
// "find": "([\u4e00-\u9fa5]\\d{4}年\\d{1,2}月\\d{1,2}日[\u4e00-\u9fa5]+)[)]",
// "replace": "\n> * \\1",
// "greedy": true
// },
// "施行日期":
// {
// "find": "(自(\\d{4})年(\\d{1,2})月(\\d{1,2})日起施行)\\s",
// "replace": "\n> * \\1\n",
// "greedy": true
// },
"测试行首":
{
"find": "(^[\u4e00-\u9fa5])",
"replace": "- \\1",
"greedy": true
},
"规章删除换行":
{
"find": "^\n",
"replace": "",
"greedy": true
},
"规章删除空格":
{
"find": "( | )",
"replace": " ",
"greedy": true
},
}
}
// 经过测试,这可以同时匹配并替换(1999年4月3日中华人民共和国国务院令第262号发布 根据2002年3月24日《国务院关于修改〈住房公积金管理条例〉的决定》第一次修订 根据2019年3月24日《国务院关于修改部分行政法规的决定》第二次修订)
// {
// "find": "(根据[^《]+《[^》]+》[^根据]+)",
// "replace": "> * \\1"
// }
// [ ]根据\d{4}年\d{1,2}月\d{1,2}日\W+[\u4e00-\u9fa5]+[)]
commands-user
[
{
"caption": "Reg Replace: My_MD",
"command": "reg_replace",
"args":
{
"replacements": [
"目录章是顶格的",
"英文空格",
"空格",
"头",
"编",
"分编",
"章",
"节",
"条",
"中文序号",
"序号",
// "页头",
"括号开头根据",
"根据括号节尾",
"根据",
"目录",
"小于号",
"正文超链接",
// "引用_英文括号开头",
"英文括号家里测试版",
"启用日期"
],
//"regex_full_file_with_selections": true
},
}
// {
// "caption": "Reg Replace: My_MD",
// "command": "reg_replace",
// "args":
// {
// "replacements": [
// "目录",
// ],
// }
// }
]
keymap
[
{
"keys": ["ctrl+b"],
"command": "reg_replace",
"args":
{
"replacements": [
"目录章是顶格的",
"英文空格",
"空格",
"头",
"编",
"分编",
"章",
"节",
"条",
"中文序号",
"序号",
// "页头",
"括号开头根据",
"根据括号节尾",
"辅助信息",
"辅助信息中文括号",
"辅助信息的行内多个根据",
"根据",
"辅助信息B",
"消除辅助信息的空白引用符号",
"辅助信息A",
"目录",
"小于号",
"正文超链接",
// "引用_英文括号开头",
// "英文括号家里测试版",
// "施行日期",
"测试行首",
"规章删除换行",
"规章删除空格"
]
}
}]