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:
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM