emeditor 正则表达式找出1-3个任意字符的行
查找替换:
^.{1,3}$
****以下前七行符合条件
天
.
1
12
147
下行
上行一
FRRRRR
今天收获
**************以上前七行符合条件
宏语句【关键点:整理交通格式、一键排版】:
menu= CreatePopupMenu();//鸿蒙20190815 精简,只取最常用的语句
排版 = CreatePopupMenu();
特殊文本清理 = CreatePopupMenu();
cmd = CreatePopupMenu();
if (document.selection.isempty)
nFlags=eeFindNext | eeReplaceAll | eeFindReplaceRegExp;
else
nFlags=eeFindNext | eeReplaceSelOnly | eeReplaceAll | eeFindReplaceRegExp;
menu.Add( "鸿蒙20190815", 1 );
menu.AddPopup( "特殊文本清理", 特殊文本清理 );
特殊文本清理.Add( "整理交通卡口", 2);
menu.AddPopup( "排版", 排版 );
排版.Add( "一键排版:行首加2个全角空格,删除空行(含空格)、部章后冒号删除、书名、标题(含章节、序、前言、后记、尾声 )前加2空行。规范中文引、破折号", 22);
排版.Add( "删除硬回车(硬回车即换行符前有一个半角空格)", 23 );
排版.Add( "★段落重排(修正句内换行,句首标点,统一章节间行)2009.08", 24 );
排版.Add( "段落间加空行", 25 );
排版.Add( "2个以上空行变二空行", 26 );//
result = menu.Track( 0 );
switch(result){
case 1:
alert("鸿蒙20190815:)");
break;
case 2://整理交通卡口:下行\r\n\d+\r\n\d+\r\n ==正则表达式的替换语句==》宏语句==下行\\r\\n\\d+\\r\\n\\d+\\r\\n
//document.selection.Replace("下行\\r\\n\\d+\\r\\n\\d+\\r\\n","",eeFindNext|eeReplaceAll|eeFindReplaceRegExp);//删除下行及之后的两行数字【可行】
document.selection.Replace("^\.\{1,3\}$","",eeFindNext|eeReplaceAll|eeFindReplaceRegExp);//删除1-3个任意字符的行 【可行--20190815】
//document.selection.Replace("^下行$","",eeFindNext|eeReplaceAll|eeFindReplaceRegExp);////删除顶格的字符:下行【可行】
//document.selection.Replace("^\\d{1,3}$","",eeFindNext|eeReplaceAll|eeFindReplaceRegExp);//删除顶格的1-3位数字【可行】
break;
case 23: //删除硬回车
bAnswer = confirm("这里处理的硬回车是指“句末回车前有一个半角空格”。\n不符合这种情况的,请使用“段落重排”。\n\n按确定:“上一句句末有空格,下一句顶格,句首没有空格”\n\n按取消:“上一句句末有空格,下一句句首也有多个半角空格”");
document.selection.Replace("([。?!]) \\n","\\1\\n",nFlags);
document.selection.Replace("^([0-9一二三四五六七八九十两百零〇—].+) \\n","\\1\\n",nFlags);
if (bAnswer==true)
{
document.selection.Replace("[ ]+\\n([^ ])","\\1",nFlags);
}
else
{
document.selection.Replace("^[ ]+","",nFlags);
document.selection.Replace("[ ]+\\n([^ ])","\\1",nFlags);
}
break;
case 24: //段落重排(修正句内换行,句首标点,统一章节间行)
document.selection.Replace("^[ ]+$","",nFlags);
document.selection.Replace("^\\t+","\\n\\n ",nFlags);
document.selection.Replace(" "," ",nFlags);
document.selection.Replace("([^ ]) ","\\1\\n ",nFlags);
document.selection.Replace("(^[ ]+)|([ ]+$)","",nFlags);//去首尾空格
var title=prompt("输标题表达式(已含作品相关序楔正文前言后记),保护原有分段格式。","第[0-9一二三四五六七八九十两百零〇]{1,5}[册集部卷章篇节回]")
if (title!="")
{
document.selection.Replace("^(作品相关.*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^(正文.*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^(序.*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^(前言.*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^(后记.*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^(楔.*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^(引子.*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^(公告.*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^(凑字数.*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^(.*"+title+".*)$","【标记3】\\1【标记4】",nFlags);
document.selection.Replace("^\\n","",nFlags);
}
//去除多余标点
document.selection.Replace("[。…=\\.]{2,}","……",nFlags);
bAnswer = confirm("按确定,合并不在同一行的引号括号,错误的分段。\n\n按取消,没有错误的标点分段。");
if (bAnswer==true)
{
document.selection.Replace("([,。:?!…”)》—])[,。:?!)》]+","\\1",nFlags);
document.selection.Replace("([^。?!…])\\n([^ ※#*…。.\\-\\.])","\\1\\2",nFlags);//取消非标点结尾换行
document.selection.Replace("([“「][^”」]+)\\n([^“「]+[”」])","\\1\\2\\n",nFlags);
document.selection.Replace("(([^)]+)\\n([^(]+))","\\1\\2\\n",nFlags);
document.selection.Replace("([,。:?!…”)》—][”」])","\\1\\n",nFlags);
document.selection.Replace("([:。?!…”])\\n\\n","\\1\\n",nFlags);
document.selection.Replace("\\n([,。:?!…”;)】》—.’」])","\\1",nFlags);//句首标点
}
document.selection.Replace("^([^ ])"," \\1",nFlags);//行首加空格
document.selection.Replace("^[ ]+"," ",nFlags);
//恢复原有分段格式
document.selection.Replace("【标记4】【标记3】","【标记4】\\n\\n\\n【标记3】",nFlags);
document.selection.Replace("【标记3】(.+)【标记4】","\\n\\n\\n\\1\\n ",nFlags);
document.selection.Replace("【标记3】","\\n\\n\\n",nFlags);
document.selection.Replace("【标记4】","\\n ",nFlags);
//给行首加2个全角空格,并删除多余空行。
document.selection.Replace("^[ ]+$","",nFlags);
document.selection.Replace("^[\\t]+","",nFlags);
document.selection.Replace("^([^ 《])"," \\1",nFlags);
document.selection.Replace("(第[0-9一二三四五六七八九十两百零〇]{1,5}[册集部卷章篇节回].*)\\n\\n\\n","\\1\\n",nFlags);
document.selection.Replace("^([ ]+[《第正作序楔引前后上0-9一二三四五六七八九十两百零〇])","\\n\\n\\1",nFlags);
document.selection.Replace("^([ ]+[^ ]+第[0-9一二三四五六七八九十两百零〇]{1,5}[册集部卷章篇节回])","\\n\\n\\1",nFlags);
document.selection.Replace("([^ ])\\n\\n ","\\1\\n ",nFlags);
document.selection.Replace("^[ ]{3,}"," ",nFlags);
document.selection.Replace("^\\n\\n\\n","\\n\\n",nFlags);
document.selection.Replace("^\\n\\n\\n","\\n\\n",nFlags);
document.selection.Replace("^\\n\\n\\n","\\n\\n",nFlags);
break;
case 25: //段落加空行
document.selection.Replace("$","\\n",nFlags);
document.selection.Replace("^\\n\\n\\n","\\n\\n",nFlags);
document.selection.Replace("^\\n\\n\\n\\n","\\n\\n",nFlags);
document.selection.Replace("^\\n\\n\\n\\n\\n","\\n\\n",nFlags);
break;
case 26: //2个以上空行变二空行
document.selection.Replace("^\\n\\n\\n","\\n\\n",nFlags);
document.selection.Replace("^\\n\\n\\n\\n","\\n\\n",nFlags);
document.selection.Replace("^\\n\\n\\n\\n\\n","\\n\\n",nFlags);
break;
case 22: //一键排版:行首加2个全角空格,删除空行(含空格)、部章后冒号删除、标题(含章节、序、前言、后记、尾声 )前加2空行。规范中文引、破折号.
document.selection.Replace("^[\\t]+","",nFlags);
document.selection.Replace("[\\t]+"," ",nFlags);
document.selection.Replace("^[ ]+","",nFlags);
document.selection.Replace("[ ]+$","",nFlags);
document.selection.Replace("^([^ ])"," \\1",nFlags);
document.selection.Replace("^[ \t]*\\n","",nFlags);
document.selection.Replace("[ ]+$","",nFlags);
document.selection.Replace("部+\:","部 ",nFlags);
document.selection.Replace("章+\:","章 ",nFlags);
document.selection.Replace("([^ ]+)卷首+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)封面欣赏+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)文本来源+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)导语+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)内容简介+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)编辑推荐+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)作者简介+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)精彩书评+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)题记+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)附录+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)本卷主线+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)注释+$","\\n\\n\\0",nFlags);
//短句无标点,当标题,空二行.---此行视文本情况关闭使用,如诗歌类。
//document.selection.Replace("^\\s\\s\\w{1,15}$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)前言+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)前言 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)楔子+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)楔子 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)楔+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)楔 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)序+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)序 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)序言+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)序言 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)序章+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)序章 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)正文+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)后记+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)后记 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)尾声+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)尾声 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)番外 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("^卷首+$","\\n\\n\\0",nFlags);
document.selection.Replace("^内容简介+$","\\n\\n\\0",nFlags);
document.selection.Replace("^前言+[$ .{1,12}]","\\n\\n\\0",nFlags);
document.selection.Replace("^前言 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("^楔子+$","\\n\\n\\0",nFlags);
document.selection.Replace("^楔子 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("^楔+$","\\n\\n\\0",nFlags);
document.selection.Replace("^楔 +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("^序+$","\\n\\n\\0",nFlags);
document.selection.Replace("^序言+$","\\n\\n\\0",nFlags);
document.selection.Replace("^正文+$","\\n\\n\\0",nFlags);
document.selection.Replace("^后记+$","\\n\\n\\0",nFlags);
document.selection.Replace("^尾声+$","\\n\\n\\0",nFlags);
document.selection.Replace("^番外+$","\\n\\n\\0",nFlags);
//顶格的书名,其后为换行符,加2空行
document.selection.Replace("^\\s\\s《\.+》$","\\n\\n\\0",nFlags);
//上中下卷前,加2空行
document.selection.Replace("(([^ ]+)[上中下]卷)+$","\\n\\n\\1",nFlags);
document.selection.Replace("(([^ ]+)[上中下]卷) +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("(([^ ]+)卷[0-9一二三四五六七八九十两百零〇]{1,5})+$","\\n\\n\\1",nFlags);
document.selection.Replace("(([^ ]+)卷[0-9一二三四五六七八九十两百零〇]{1,5}) +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("^第[0-9一二三四五六七八九十两百零〇]{1,5}[册集部卷章节回篇折]+$","\\n\\n\\0",nFlags);
document.selection.Replace("^第[0-9一二三四五六七八九十两百零〇]{1,5}[册集部卷章节回篇折] +.{1,12}","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)第[0-9一二三四五六七八九十两百零〇]{1,5}[册集部卷章节回篇折]+$","\\n\\n\\0",nFlags);
document.selection.Replace("([^ ]+)第[0-9一二三四五六七八九十两百零〇]{1,5}[册集部卷章节回篇折] +.{1,12}","\\n\\n\\0",nFlags);
//以下规范中文引、破折号、3个以上空行改2空行
document.selection.Replace("──","——",nFlags);
document.selection.Replace("[「『]","“",nFlags);
document.selection.Replace("[」』]","”",nFlags);
document.selection.Replace("^[ ]+$","",nFlags);
document.selection.Replace("^[\\t]+$","",nFlags);
document.selection.Replace("^\\n\\n","【标记】",nFlags);
document.selection.Replace("^\\n","",nFlags);
document.selection.Replace("【标记】\\n","【标记】",nFlags);
document.selection.Replace("(【标记】)+","【标记】",nFlags);
document.selection.Replace("【标记】","\\n\\n\\n",nFlags);
document.selection.Replace("^\\n\\n\\n","\\n\\n",nFlags);
break;
default:
}
原文地址:https://www.cnblogs.com/hmjy/p/11360622.html
- jvm运行时环境属性一览
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
- C#集合类型大盘点
- 将spring源码导入到eclipse中
- 将struts源码导入eclipse
- 初探领域驱动设计(1)为复杂业务而生
- 最大公约数的算法
- 是时候开始用C#快速开发移动应用了
- Open ID Connect(OIDC)在 ASP.NET Core中的应用
- Jetty入门
- java序列化反序列化深入探究
- 前后端分离开发模式下后端质量的保证 —— 单元测试
- java如何获取一个对象的大小
- JDK1.7新特性(3):java语言动态性之脚本语言API
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel withCount 统计关联数量的方法
- 使用laravel和ECharts实现折线图效果的例子
- Laravel 将数据表的数据导出,并生成seeds种子文件的方法
- Laravel Eloquent ORM 多条件查询的例子
- laravel5.5添加echarts实现画图功能的方法
- thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
- Laravel 创建指定表 migrate的例子
- Laravel find in set排序实例
- Laravel 对某一列进行筛选然后求和sum()的例子
- 关于laravel 数据库迁移中integer类型是无法指定长度的问题
- laravel多条件查询方法(and,or嵌套查询)
- thinkphp框架使用JWTtoken的方法详解
- Laravel创建数据库表结构的例子
- laravel按天、按小时,查询数据的实例
- 浅谈laravel中的关联查询with的问题