免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
掌握EmEditor正則表達式語法,大大提升工作效率

縉哥哥非常懶,當遇到重復的事情時,就喜歡通過批量處理來解決,而文本用的是 EmEditor 程序,EmEditor 正則表達式語言基于 Perl 正則表達式語法,所以通過掌握EmEditor正則表達式語法,大大提升工作效率。

文字

所有字符都是文字除了: “.”, “*”, “?”, “+”, “(“, “)”, “{“, “}”, “[“, “]”, “^”, “$” 和 “\”。這些字符代表文字當之前有一個 “\” 時。一個文字是一個與它自己相匹配的字符。例如,搜索 “\?” 會匹配每一個在文檔中的 “?” ,或搜索 “Hello” 會匹配每一個在文檔中的 “Hello” 。

元字符

下列表格包含元字符(非文字)的完整列表以及這些元字符在正則表達式中的行為。

\把下一個字符標記為一個特殊字符,一個文字,或一個向后引用。例如,’n’ 與字符 “n” 相匹配。而 ‘\n’ 代表一個換行符號。序列 ‘\\’ 代表 “\”,”\(” 則與 “(” 相匹配。
^匹配輸入字符串的開始位置。例如,”^e” 表示任何由 “e” 開頭的字符串。
$匹配輸入字符串的結尾位置。例如,”e$” 表示任何由 “e” 結尾的字符串。
*匹配之前的字符或子表達式零次或多次。例如,zo* 會匹配 “z” 以及 “zoo”。* 等同于 {0,}。
+匹配之前的字符或子表達式一次或多次。例如,’zo+’ 匹配 “zo” 以及 “zoo”,但不匹配 “z”。 + 等同于 {1,}。
?匹配之前的字符或子表達式零次或一次。例如,”do(es)?” 匹配 “do” 在  “do” 或 “does” 中。? 等同于 {0,1}。
{n}n 是一個非負整數。匹配確定的 n 次。例如,’o{2}’ 不匹配 “Bob” 中的 “o”,但與 “food” 中的兩個 o 匹配。
{n,}n 是一個非負整數。匹配至少 n 次。例如,’o{2,}’ 不匹配 “Bob” 中的 “o”,單匹配 “foooood” 中的所有 o。and matches all the o’s in “foooood”. “o{1,}” 等同于  ‘o+’。 ‘o{0,}’ 等同與 ‘o*’。
{n,m}m 和 n 都要是非負整數,n <= m。匹配至少 n 次,最多 m 次。例如,”o{1,3}” 與 “fooooood”中的前三個 o 向匹配。 ‘o{0,1}’ 等同于 ‘o?’。要注意的是你不能在逗號與數字之間加一個空格。
?當這個字符緊跟著任何其他數量詞 (*, +, ?, {n}, {n,}, {n,m}) 時,匹配的模式是非貪婪。一個非貪婪模式盡可能少地與搜索字符串匹配,而默認的貪婪模式則盡可能多地與搜索字符串匹配。例如,字符串 “oooo”,’o+?’ 匹配單一的一個 “o”,而w ‘o+’ 匹配所有 ‘o’。
.與任何單一字符串匹配。例如,”.e” 匹配任何在 “e” 之前的文字,如 “he”,”we”,或 “me”。 在 EmEditor Professional 中,它匹配搜索正則表達式的附近行文本框中指定范圍內的換行當正則表達式 “.” 匹配換行符復選框被勾選。
(pattern)括號有兩個作用: 把一個格式組合到一個子表達式中,以及捕捉生成該匹配的格式。例如,表達式 “(ab)*” 匹配所有字符串 “ababab”。每一個子表達式的匹配被捕捉為一個從左到右編號的向后引用(如下)。要匹配括號字符,用 ‘\(‘ 或 ‘\)’。
\1 – \9指定一個向后引用 – 一個向后引用是上一個被匹配的子表達式的引用。引用的內容是與子表達式相匹配的內容,而不是表達式本身。一個向后引用由轉義符 “\” 加一個 “1” 到 “9” 的數字組成?!盶1″ 指的是第一個子表達式,”\2″ 是第 2 個,以此類推。例如,”(a)\1″ 會捕捉 “a” 為第一個向后引用,并匹配任何 “aa” 文本。你還可以使用向后引用功能當你在搜索菜單下選擇替換功能時。用正則表達式來定位一個文本格式,與之相匹配的文本能被一個指定的向后引用替換。例如,”(h)(e)” 的表達式會在文本中查找 “he”,把 “\1” 放在替換為文本框中會用 “h” 取代 “he”, 而如果是 “\2\1” 的話,則會用 “eh” 取代 “he” 。
(?:pattern)一個與格式相匹配,但不捕獲該匹配的子表達式,這是一個不能用向后引用來存儲的非捕獲匹配。這個表達式通常和 “or” 字符 (|) 組合使用。例如,’industr(?:y|ies) 是一個比 ‘industry|industries’ 更實用的表達式。
(?=pattern)子表達式執(zhí)行匹配 lookahead 搜索,查找任何后面跟著符合的模式的字符串。例如,”x(?=abc)” 與 “x”相匹配僅當字符串后面跟著 “abc” 表達式時。 這是一個不能用向后引用來存儲的非捕獲匹配。模式不包含換行。
(?!pattern)子表達式執(zhí)行非匹配 lookahead 搜索,查找任何后面沒有跟著符合的模式的字符串。例如,”x(?!abc)” 與 “x” 相匹配只有當該字符串后面不跟著 “abc” 表達式時。這是一個不能用向后引用來存儲的非捕獲匹配。模式不包含換行。
(?<=pattern)子表達式執(zhí)行匹配 lookbehind 搜索,查找任何前面是符合的模式的字符串。例如,”(?<=abc)x” 匹配一個 “x” 只有當它前面有表達式 “abc”時。這是一個不能用向后引用來存儲的非捕獲匹配。模式不包含換行。模式必須是固定長度。
(?<!pattern)子表達式執(zhí)行非匹配 lookbehind 搜索,查找任何前面不是符合模式的字符串。例如,”(?<!abc)x” 匹配 “x” 只有當它前面不跟著 “abc” 表達式時。這是一個不能用向后引用來存儲的非捕獲匹配。模式不包含換行。模式必須是固定長度。
x|y與 x 或 y 向匹配。例如,’z|food’ 與 “z” 或 “food” 匹配。'(z|f)ood’ 與 “zood” 或 “food” 匹配。
[xyz]
[^xyz]負字符集。匹配任何不在括號內的字符。例如,[^abc]’ 與 “plain” 中的 ‘p’ 相匹配。
[a-z]字符范圍。與任何指定范圍的字符相匹配。例如,'[a-z]’ 與任何 ‘a’ 到 ‘z’ 的小寫字母相匹配。
[^a-z]負字符范圍。與任何不在指定范圍內的字符相匹配。例如,'[a-z]’ 與任何不在 ‘a’ 到 ‘z’ 范圍內的字符相匹配。

字符類

下面的字符類被用在字符集中,例如 “[:classname:]”。例如,”[[:space:]]” 是所有空白字符的集合。

alnum任何語言字符及數字: 字母,音節(jié)或表意字符。
alpha任何語言字符: 字母,音節(jié)或表意字符。
blank任何空白字符,空格或 tab。
cntrl任何控制字符。
digit任何 0-9 的數字。
graph任何圖形字符。
lower任何 a-z 的小寫字符,以及其他小寫字符。
print任何可打印的字符。
punct任何標點字符。
space任何空白字符。
upper任何 A-Z 的大寫字母,以及其他大寫字符。
xdigit任何十六進制數字字符,0-9,a-f 還有 A-F。
word任何單詞字符 – 所有字母數字字符以及下劃線。
unicode任何大于 255 代碼的字符。

單一字符轉義序列

下列轉義序列是單一字符的別名:

0x07\a響鈴字符。
0x0C\f換頁 (FF)。
0x0A\n換行字符。
0x0D\r回車符。
0x09\tTab 字符。
0x0B\v垂直 tab。
0x1B\eASCII 轉義符。
0dd\0dd八進制字符代碼,dd 是一個或多個八進制數字。
0xXX\xXX一個十六進制字符代碼,XX 是一個或多個十六進制數字 (一個 Unicode 字符)。
0xXXXX\x{XXXX}一個十六進制字符代碼,XXXX 是一個或多個十六進制數字 (一個 Unicode 字符)。
Z-‘@’\cZ Z-‘@’一個 ASCII 轉義序列控制-Z,其中 Z 是任一 ASCII 字符大于或等于 ‘@’ 的字符代碼。

單詞邊界

下列轉義序列與單詞的邊界相匹配:

\<匹配一個單詞的開頭。(僅限 Boost.Regex)
\>匹配一個單詞的結尾。(僅限 Boost.Regex)
\b匹配單詞的邊界(一個單詞的開頭或結尾)。
\B僅當不在單詞邊界處時匹配。

字符類的轉義序列

下列轉義序列能被用來表示整個字符類:

\w任何單詞字符 – 所有字母數字字符加下劃線。
\W\w 的補集 – 查找任何非單詞的字符。
\s任何空白字符。
\S\s 的補集。
\d任何 0-9 的數字。
\D\d 的補集。
\l任何 a-z 的小寫字符。
\L\l 的補集。
\u任何 A-Z 的大寫字符。
\U\u 補集。
\C任何單一字符,等同與 ‘.’。
\Q開始引述運算符,任何跟在該符號后面的內容會被作為一個文本字符直到找到 \E 結束引述運算符。
\E結束引述運算符,終止一個由 \Q 開始的序列。

指定換行符

下列表格顯示如何指定換行符。

“查找”對話框,“替換”對話框 – 查找,替換為

勾選“使用正則表達式”\n 或 \r\n(相同含義)
不勾選“使用正則表達式”(使用轉義序列)\n 或 \r\n(相同含義)

“在文件中查找”對話框,“在文件中替換”對話框 – 查找

勾選“使用正則表達式”\r\n,\r,或 \n(取決于實際的換行方式)
不勾選“使用正則表達式”(使用轉義序列)\n 或 \r\n(相同含義)

“在文件中替換”對話框 – 替換為

勾選“保持修改的文件打開”不勾選“保持修改的文件打開”
勾選“使用正則表達式”\r\n,\r,或 \n(取決于實際的換行方式)\r\n,\r,或 \n(取決于實際的換行方式)
不勾選“使用正則表達式”(使用轉義序列)\n 或 \r\n(相同含義)\r\n,\r,或 \n(取決于實際的換行方式)

Tips

  • 如遇 “\n 或 \r\n(相同含義)”,你無法通過分辨 CR+LF,僅 CR,以及 僅 LF 來搜索換行。
  • 如遇 “\r\n,\r,或 \n(取決于實際的換行方式)”,你需要指定 “\r\n” 如果實際的換行是 CR+LF,”\r” 如果是僅 CR,或 “\n” 如果僅 LF。通常,CR+LF (\r\n) 被用在 Windows 操作系統(tǒng)中,CR (\r) 被用在 Macintosh 上,還有 LF (\n) 被用于 Unix。

注意事項

  • 在在文件中查找和在文件中替換中,回車符 (\r) 以及換行符 (\n) 必須仔細指明。更多信息,請參考指定換行。
  • 為了一些轉義序列能在 EmEditor 中運作,例如 “\l”, “\u” 以及它們的補集,必須選擇區(qū)分大小寫的選項。

歷史上的今天:

  1. 2018年:  《2018美國動作科幻狂暴巨獸/末日困獸戰(zhàn) BluRay-1080P 下載》- 作者:縉哥哥(0)
  2. 2018年:  《群輝NAS設置不同之間homes目錄隔離并隱藏》- 作者:縉哥哥(0)
  3. 2018年:  《群輝Synology中Raid1和SHR有何區(qū)別?Raid0/1/5 都有何不同?》- 作者:縉哥哥(0)
  4. 2017年:  《5步教你如何拍星軌》- 作者:縉哥哥(2)
  5. 2014年:  《免費打電話,無需充值、無需簽到、不限時長,沒有任何限制的網絡電話!》- 作者:縉哥哥(2)
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
正則表達式參考手冊__Mini版
【易POST】易語言“正則表達式”教程
php_正則表達式_歡歡和芳芳的天空
preg_replace 基礎入門應用
正則表達式語法及實例整理 - 風的輪廓 - 博客園
(88) 正則表達式 (上) / 計算機程序的思維邏輯
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服