Emeditor怎么使用 Emeditor正則表達(dá)式大全

經(jīng)常用到EmEditor來編輯純文本文檔。最近接觸了正則表達(dá)式,感受到其功能非常強(qiáng)大。
正則表達(dá)式實(shí)在包含的內(nèi)容太多, 僅僅用一篇文章來涵蓋是沒可能的了, 所以我只是簡(jiǎn)要的做些介紹和基本的模式應(yīng)用舉例.
正則表達(dá)式, 英文 Regular expression, 簡(jiǎn)寫Regexes或Regex.
應(yīng)用概述: 提供與預(yù)期的搜索結(jié)果匹配的確切文本來進(jìn)行字符串的搜索和替換操作, 這種技術(shù)不僅僅用于開發(fā)領(lǐng)域, 更被集成到一些常見的文本擴(kuò)展編輯器, 如UltraEdit, Emeditor等. 歷史上第一個(gè)實(shí)用應(yīng)用程序是Unix 中的qed 編輯器。
舉一個(gè)簡(jiǎn)單的類比: 我們對(duì)DOS中的通配符"*"和"?"應(yīng)該很熟悉, 如命令"dir *.exe" 將列出所有后綴名為exe的文件名. 正則表達(dá)式提供的方法與其類似, 而且遠(yuǎn)比通配符強(qiáng)大的多.
從某種意義上說, 正則表達(dá)式是一種語(yǔ)言, 通過及其簡(jiǎn)短的一行代碼即可以高效, 精確的描述要匹配的復(fù)雜文本, 當(dāng)然, 它最大的優(yōu)點(diǎn)也是他最大的缺點(diǎn): 語(yǔ)法復(fù)雜, 創(chuàng)建困難. (熟悉之后就可以忽略后半句了 :p)
主要應(yīng)用:
數(shù)據(jù)驗(yàn)證; 這是正則表達(dá)式在開發(fā)中最常見的應(yīng)用, 通過測(cè)試字符串內(nèi)的模式。來驗(yàn)證輸入的字符串是否為郵政編碼, 電話號(hào)碼, 電子郵件地址, 信用卡號(hào)碼等等。
搜索和替換文本; 用正則表達(dá)式來搜索文檔中的特定文本塊, 根據(jù)需要用其他指定的文本塊進(jìn)行替換。這也是文本編輯中的一個(gè)常見應(yīng)用, 如將網(wǎng)頁(yè)中的HTML代碼轉(zhuǎn)化為UBB代碼.
1. 啟用正則表達(dá)式
菜單: Search - Find (Replace) - 選中 Use Regular Expressions
2. Emeditor 正則語(yǔ)法
正則表達(dá)式是普通字符和元字符組合的一種模式. 它的結(jié)構(gòu)與算術(shù)表達(dá)式的結(jié)構(gòu)類似, 各種元字符和運(yùn)算符可以將小的表達(dá)式組合起來,創(chuàng)建大的表達(dá)式。通過在一對(duì)分隔符之間放置表達(dá)式模式的各種組件,就可以構(gòu)建正則表達(dá)式。
2.1 普通字符
普通字符是指除了 ".", "*", "?", "+", "(", ")", "{", "}", "[", "]", "^", "$" 和 "\" 這些特殊字符之外的所有其他字符. 而這些特殊字符也可以通過前面加上"\"前綴而變?yōu)槠胀ㄗ址? 比如, 搜索"CCF"即為在文本中匹配所有的"CCF"字符串, 搜索"\[CCF\]"則是在文本中匹配所有的"[CCF]"字符串.
簡(jiǎn)而言之, 普通字符即為只匹配自身的字符.
2.2 元字符
元字符不匹配其自身,它用特殊方式來解析從而實(shí)現(xiàn)更多的邏輯功能。正則表達(dá)式通過元字符在模式中包含選擇和循環(huán)
2.2.1 特殊字符
3. 匹配除換行符 \n 之外的任何單個(gè)字符。
( ) 分組捕獲(子表達(dá)式)的開始和結(jié)束??梢圆东@子表達(dá)式以供以后使用。
[ ] 中括號(hào)表達(dá)式的開始。
中括號(hào)表達(dá)式是在方括號(hào)內(nèi)包含一個(gè)或多個(gè)字符構(gòu)成的列表的表達(dá)式。普通字符在中括號(hào)內(nèi)表示本身,大多數(shù)特殊字符在中括號(hào)表達(dá)式內(nèi)出現(xiàn)時(shí)失去它們的意義。除了轉(zhuǎn)義字符'\', (要包含'\', 需要使用'\') 如: 正則表達(dá)式 No [1234] 匹配 No 1, No 2, No 3 和 No4. 如果想在中括號(hào)中使用一個(gè)范圍作為列表來匹配字符,可以用連字符 '-' 將范圍中的開始字符和結(jié)束字符分開。單個(gè)字符的字符值確定范圍內(nèi)的相對(duì)順序。如: 正則表達(dá)式 No [1-4] = No [1234]
注意 1. 開始值的Unicode值必須在結(jié)束值Unicode值的前面。
注意 2. [\-]匹配連字符'-', 放在中括號(hào)列表的開始或結(jié)尾也可起到同樣的效果, 如 [-c-f] 匹配 c 至 f 的字符和連字符
如果需要匹配不屬于列表或范圍內(nèi)的任何字符,可以在列表開頭加上'^'前綴。如: 正則表達(dá)式 No [^1-4] 匹配 No 5 和更大的編號(hào).
中括號(hào)表達(dá)式還可進(jìn)行組合, 如 [A-Za-z0-9] 匹配A-Z, a-z, 0-9 的字符
\ 將下一字符標(biāo)記為特殊字符、文本、反向引用或八進(jìn)制轉(zhuǎn)義符。例如,
字符 n 匹配字符 n
\n 匹配換行符
序列 \ 匹配 \
序列 \( 匹配 (
| 替換字符, 對(duì)|左右的兩個(gè)項(xiàng)分別匹配進(jìn)行選擇。或者說, 就是邏輯的OR的概念
{ } 標(biāo)記限定符表達(dá)式的開始。
(數(shù)量)限定字符
限定字符能夠指定正則表達(dá)式的某個(gè)部分必須出現(xiàn)的次數(shù)
* 零次或多次匹配前面的字符或子表達(dá)式。如,c*f 可以匹配 f 和 ccf。* = {0,}
+ 一次或多次匹配前面的字符或子表達(dá)式。如,c+f 可以匹配 cf 和 ccf,但不匹配 f。+ = {1,}
? 零次或一次匹配前面的字符或子表達(dá)式。如,cc?f 可以匹配 cf 或 ccf。? = {0,1}
{n} n 是非負(fù)整數(shù)。正好匹配 n 次。如,c{2}f 可以匹配 ccf。
{n,} n 是非負(fù)整數(shù)。至少匹配 n 次。如,c{2,}f 不匹配 cf,而可以匹配 ccccccf。c{1,} = c+。c{0,} = c*
{n,m} m 和 n 是非負(fù)整數(shù),其中 n <= m。至少匹配 n 次,至多匹配 m 次。如,c{1,3} 可以匹配 ccf 中的cc。c{0,1} 等效于 c?。
2.2.2 控制字符
\a Bell 字符。= 0x07
\f 換頁(yè)符匹配。= 0x0C
\n 換行符匹配。= 0x0A
\r 匹配一個(gè)回車符。= 0x0D
\t 制表符匹配。= 0x09
\v 垂直制表符匹配。= 0x0B
\e ASCII 換碼字符。= 0x1B
{post.abstract}dd 八進(jìn)制換碼字符, dd代表八進(jìn)制數(shù)字。
\xXXXX或\x{XXXX} 4位十六進(jìn)制Unicode字符, XXXX代表十六進(jìn)制數(shù)字。
\cZ Z-'@' 控制字符Control-Z, Z為大于等與"@"的ASCII字符
2.2.3 換碼字符
\w 任一單詞字符, 如A-Z, a-z, 0-9, _等, 如 \w\w\w可以匹配 U_4 但不匹配 %^e
\W 任一非單詞字符, 如 \W\W 可以匹配 *& 但不匹配 7#
\s 任一空白字符,包括空格、制表符、換頁(yè)符、回車符和垂直制表符。= [ \f\n\r\t\v]
\S 任一非空白字符. = [^ \f\n\r\t\v]
\d 0-9的任一數(shù)字字符, 如 \d\d可以匹配 54 但不匹配 a4
\D 任一非數(shù)字字符. 如 \D\D可以匹配 a4 但不匹配 54
\l a-z 之間的任一小寫字符, 如 \l\l\l可以匹配 ccf 但不匹配 ccF
\L 任一非小寫字符, 如 \L\L\L可以匹配 CCF 但不匹配 cCF
\u a-z 之間的任一大寫字符, 如 \u\u\u可以匹配 CCF 但不匹配 CCf
\U 任一非大寫字符, 如 \U\U\U可以匹配 ccf 但不匹配 ccF
\C 任一字符, = '.'
\Q 前置引號(hào)符, 其后的任意字符均被認(rèn)為普通字符直至出現(xiàn)后置引號(hào)符\E. 同時(shí)匹配單引號(hào)和雙引號(hào)
\E 后置引號(hào)符
2.2.4 轉(zhuǎn)義字符串
表示為[:classname:], 如"[[:space:]]"表示所有的空格字符
alnum 任一單詞字符和數(shù)字字符. = [\w\d]
alpha 任何一個(gè)單詞字符, 如A-Z, a-z, 0-9
blank 任一空白字符,包括空格、制表符、換頁(yè)符、回車符和垂直制表符。= [ \f\n\r\t\v] = \s
cntrl 任一控制字符.
digit 0-9的任一數(shù)字字符, = \d
graph 任一圖形字符.
lower a-z 之間的任一小寫字符 =\l
print 任一可打印字符 = '.' = \C
punct 任一標(biāo)點(diǎn)符號(hào)
space 任一空格字符
upper a-z 之間的任一大寫字符 = \u
xdigit 4位十六進(jìn)制Unicode字符, = \xXXXX
word 任何一個(gè)單詞字符, 如A-Z, a-z, 0-9, _等, = \w
unicode 任何一個(gè)ASCII值大于255的字符
2.2.5 定位字符
定位字符可以把正則表達(dá)式固定到行首或行尾。在Perl正則全集中還能使正則表達(dá)式出現(xiàn)在一個(gè)單詞內(nèi)、在一個(gè)單詞的開頭或者一個(gè)單詞的結(jié)尾, emeditor只是一個(gè)子集, 不包含這個(gè)功能。
^ 匹配輸入字符串開始的位置。如果設(shè)置customize中的"regular expressions can match new line characters",那么 ^ 還匹配 \n 或 \r 后面的位置。 但在中括號(hào)表達(dá)式中使用的情況除外,在那種情況下它對(duì)字符集求反。
$ 匹配輸入字符串結(jié)尾的位置。如果設(shè)置customize中的"regular expressions can match new line characters",那么 $ 還匹配 \n 或 \r 前面的位置。
3. 分組捕獲和替換
分組通常用來捕獲特定模式的一組文本, 并用與之后的替換操作, 這也就是將分組和替換結(jié)合起來講解的原因.
最基本的分組構(gòu)造方式就是(),在左右括號(hào)中括起來的部分,就是一個(gè)分組;在正則全集中還有如(?<name> )的命名分組方式,這種方式組合了模式在就是對(duì)分組的部分進(jìn)行了命名,這樣就可以通過該組的命名來獲取信息, 但這種方式在emeditor中不被支持. 以下分別來介紹各種不同的分組:
() 組捕獲. 這種分組對(duì)模式在括號(hào)內(nèi)所捕獲的字符進(jìn)行組合, 并且每個(gè)分組捕獲的匹配結(jié)果都將保存為一個(gè)實(shí)體以備其后的操作所引用. 甚至在正則全集中還可對(duì)前面的分組進(jìn)行反向引用(這是題外話, emeditor不支持). 舉例說明:
源文本:
代碼:
--------------------------------------------------------------------------------
site status- online members: 65, online guests: 12
--------------------------------------------------------------------------------
使用正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
(members|guests): \d+
--------------------------------------------------------------------------------
括號(hào)中有兩個(gè)可能的匹配: members 和 guests, 只需要匹配其中任意一個(gè); 其后是冒號(hào)和一個(gè)空格, 最后匹配至少一個(gè)數(shù)字. 匹配模式結(jié)果如下:
代碼:
--------------------------------------------------------------------------------
members: 65
guests: 12
--------------------------------------------------------------------------------
其中members和guests在兩次匹配中被捕捉, 可以在隨后的操作中引用.
(?:) 非組捕獲. 這種分組僅僅對(duì)模式在括號(hào)內(nèi)所匹配的字符進(jìn)行組合, 模式所匹配的字符將不會(huì)作為一個(gè)組來捕獲. 雖然他也同樣成為最終的匹配結(jié)果的一部分, 但無法為其后的操作所引用. 同樣以上例繼續(xù):
使用正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
(?:members|guests): \d+
--------------------------------------------------------------------------------
匹配模式結(jié)果同樣為:
代碼:
--------------------------------------------------------------------------------
members: 65
guests: 12
--------------------------------------------------------------------------------
但是members和guests僅僅在兩次匹配中被分組, 并不被捕獲, 也不可以在隨后的操作中引用.
使用非捕獲組有其原因和場(chǎng)合. 其一, 從效率上說, 捕獲一個(gè)分組需要消耗額外的資源和處理時(shí)間, 所以不應(yīng)該捕獲不需要使用的數(shù)據(jù). 其二, 對(duì)模式中有多個(gè)捕獲組的情況, 對(duì)不需要處理的分組進(jìn)行捕獲只會(huì)對(duì)分組信息造成混亂. 其三, 避免不需要貪婪匹配的場(chǎng)合發(fā)生貪婪匹配, 貪婪匹配是正則引擎的一個(gè)重要特性, 要說清楚其機(jī)理可能還需要另外開一個(gè)專題了. 對(duì)這一點(diǎn), 還以上例說明一下:
使用不帶分組的正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
members|guests: \d+
--------------------------------------------------------------------------------
匹配模式為:
代碼:
--------------------------------------------------------------------------------
members
guests: 12
--------------------------------------------------------------------------------
這個(gè)正則表達(dá)式的問題在于, 他匹配的是"members" 或 "guests: \d+", 這是模式中貪婪"消費(fèi)"字符引起的. 而通過增加括號(hào)進(jìn)行分組, 使正則引擎將兩個(gè)匹配選項(xiàng)作為一個(gè)組處理, 從而正確匹配其中的一個(gè)匹配項(xiàng).
(?=) 正聲明組, 非捕獲. 此分組中的模式必須出現(xiàn)在聲明的右側(cè), 并且, 這個(gè)模式不構(gòu)成匹配結(jié)果的一部分. 舉例:
源文本:
代碼:
--------------------------------------------------------------------------------
site status- online members: 65, online guests: 12
--------------------------------------------------------------------------------
使用正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
\S+(?=\s\d+)
--------------------------------------------------------------------------------
此模式中規(guī)定了\s\d+必須出現(xiàn)在\S+聲明的右側(cè). 也就是說, 在至少一個(gè)非空格字符(聲明)的右側(cè)必須出現(xiàn)一個(gè)空格字符和至少一個(gè)數(shù)字, 而且只有這個(gè)聲明構(gòu)成匹配結(jié)果. 匹配模式結(jié)果如下:
代碼:
--------------------------------------------------------------------------------
members:
guests:
--------------------------------------------------------------------------------
這兩次匹配中不被捕捉.
(?!) 負(fù)聲明組, 非捕獲. 此分組中的模式不得出現(xiàn)在聲明的右側(cè), 并且, 這個(gè)模式不構(gòu)成匹配結(jié)果的一部分. 還是用上面的例子:
使用正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
\d{2}(?!,)
--------------------------------------------------------------------------------
此模式中規(guī)定了","不得出現(xiàn)在\d{2}聲明的右側(cè). 也就是說, 在連續(xù)兩個(gè)數(shù)字(聲明)的右側(cè)不得出現(xiàn)逗號(hào)才能被匹配. 匹配模式結(jié)果如下:
代碼:
--------------------------------------------------------------------------------
12
--------------------------------------------------------------------------------
這兩次匹配中不被捕捉.
嚴(yán)格的說, 后面兩個(gè)分組不能稱之為分組, 他們只是模式聲明, 他們不能成為匹配結(jié)果, 也不能被捕獲. 在正則全集中, 還有反向聲明分組(?<=)(?<!)和非回溯分組(?>), 在emeditor中不被支持.
說到括號(hào)的功能, 本來正則中的一個(gè)重要指令-條件指令和分組內(nèi)聯(lián)設(shè)定是不得不說的, 可惜的是... emeditor也同樣不支持~~~~
在前面的例子中一直提到匹配之后的操作, 而這個(gè)進(jìn)一步的操作最常見的就是替換. 先繼續(xù)上面的例子:
源文本:
代碼:
--------------------------------------------------------------------------------
site status- online members: 65, online guests: 12
--------------------------------------------------------------------------------
使用搜索正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
(members|guests)
--------------------------------------------------------------------------------
和替換正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
ccf-
--------------------------------------------------------------------------------
匹配模式結(jié)果如下:
代碼:
--------------------------------------------------------------------------------
members
guests
--------------------------------------------------------------------------------
替換后的文本為:
代碼:
--------------------------------------------------------------------------------
site status- online ccf-members: 65, online ccf-guests: 12
--------------------------------------------------------------------------------
其中members和guests在兩次匹配中被捕捉, 在隨后被引用, 并添加ccf-前綴后替換源文本中的匹配字符.
在匹配模式中的分組匹配結(jié)果將按前后順序被正則引擎分別賦予內(nèi)部組號(hào), 在替換操作中就可以用\加上這個(gè)組號(hào)來引用相應(yīng)的匹配結(jié)果. 繼續(xù)上例:
使用搜索正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
(members|guests): (\d{2})
--------------------------------------------------------------------------------
和替換正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
ccf- =
--------------------------------------------------------------------------------
匹配模式結(jié)果如下:
代碼:
--------------------------------------------------------------------------------
members: 65
guests: 12
--------------------------------------------------------------------------------
替換后的文本為:
代碼:
--------------------------------------------------------------------------------
site status- online ccf-members = 65, online ccf-guests = 12
--------------------------------------------------------------------------------
在emeditor的正則子集中增加了一個(gè)特殊的引用: {post.abstract} , {post.abstract} 將引用上次的匹配結(jié)果, 繼續(xù)把:
使用搜索正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
\d{2}
--------------------------------------------------------------------------------
和替換正則表達(dá)式:
代碼:
--------------------------------------------------------------------------------
*{post.abstract}*
--------------------------------------------------------------------------------
匹配模式結(jié)果如下:
代碼:
--------------------------------------------------------------------------------
65
12
--------------------------------------------------------------------------------
替換后的文本為:
代碼:
--------------------------------------------------------------------------------
site status- online ccf-members: *65*, online ccf-guests: *12*
--------------------------------------------------------------------------------
作為一個(gè)編輯軟件, emeditor的正則子集中增加了一些替換修飾符:
\U 大寫修飾. 將其后的所有的字符替換為大寫
\L 小寫修飾. 將其后的所有的字符替換為小寫
\H 半角修飾. 將其后的所有的字符替換為半角字符. 寫到這里, 不得不稱許一下emeditor對(duì)中文的良好支持, 這個(gè)\H至少我是很常用的, 不喜歡看到文本里面都是些123abc之類的全角字符...
\F 全角修飾. 將其后的所有的字符替換為全角字符
\E 關(guān)閉之前的\U, \L, \H, \F修飾.
^[ \t]*\n
這個(gè)正則表達(dá)式代表所有的空行,指含有零個(gè)或零個(gè)以上空格或制表符、以換行符結(jié)尾、不含其它字符的行。
(^|(?<=中國(guó))).*?(?=中國(guó)|$)
用正則表達(dá)式匹配特定字符串外的所有字符。指除“中國(guó)”外的所有其它字符,類似于反選功能。
^[ \t]+
查找以上字符,并替換為空,可刪除行首空白(包括全半角空格和制表符)。
[ \t]+$
查找以上字符,并替換為空,可刪除行末空白(包括全半角空格和制表符)。
^[ \t]+|[ \t]+$
查找以上正則表達(dá)式,并替換為空,可刪除行首和行末所有空白(包括全半角空格和制表符)。
匹配中文字符的正則表達(dá)式: [\u4e00-\u9fa5]
評(píng)注:匹配中文還真是個(gè)頭疼的事,有了這個(gè)表達(dá)式就好辦了
匹配雙字節(jié)字符(包括漢字在內(nèi)):[^\x00-\xff]
評(píng)注:可以用來計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1)
匹配空白行的正則表達(dá)式:\n\s*\r
評(píng)注:可以用來刪除空白行
匹配HTML標(biāo)記的正則表達(dá)式:< (\S*?)[^>]*>.*?|< .*? />
評(píng)注:網(wǎng)上流傳的版本太糟糕,上面這個(gè)也僅僅能匹配部分,對(duì)于復(fù)雜的嵌套標(biāo)記依舊無能為力
匹配首尾空白字符的正則表達(dá)式:^\s*|\s*$
評(píng)注:可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁(yè)符等等),非常有用的表達(dá)式
匹配Email地址的正則表達(dá)式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
評(píng)注:表單驗(yàn)證時(shí)很實(shí)用
匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^\s]*
評(píng)注:網(wǎng)上流傳的版本功能很有限,上面這個(gè)基本可以滿足需求
匹配帳號(hào)是否合法(字母開頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
評(píng)注:表單驗(yàn)證時(shí)很實(shí)用
匹配國(guó)內(nèi)電話號(hào)碼:\d{3}-\d{8}|\d{4}-\d{7}
評(píng)注:匹配形式如 0511-4405222 或 021-87888822
匹配騰訊QQ號(hào):[1-9][0-9]{4,}
評(píng)注:騰訊QQ號(hào)從10000開始
匹配中國(guó)郵政編碼:[1-9]\d{5}(?!\d)
評(píng)注:中國(guó)郵政編碼為6位數(shù)字
匹配身份證:\d{15}|\d{18}
評(píng)注:中國(guó)的身份證為15位或18位
匹配ip地址:\d+\.\d+\.\d+\.\d+
評(píng)注:提取ip地址時(shí)有用
匹配特定數(shù)字:
^[1-9]\d*$ //匹配正整數(shù)
^-[1-9]\d*$ //匹配負(fù)整數(shù)
^-?[1-9]\d*$ //匹配整數(shù)
^[1-9]\d*|0$ //匹配非負(fù)整數(shù)(正整數(shù) + 0)
^-[1-9]\d*|0$ //匹配非正整數(shù)(負(fù)整數(shù) + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮點(diǎn)數(shù)
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配負(fù)浮點(diǎn)數(shù)
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮點(diǎn)數(shù)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)
評(píng)注:處理大量數(shù)據(jù)時(shí)有用,具體應(yīng)用時(shí)注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26個(gè)英文字母組成的字符串
^[A-Z]+$ //匹配由26個(gè)英文字母的大寫組成的字符串
^[a-z]+$ //匹配由26個(gè)英文字母的小寫組成的字符串
^[A-Za-z0-9]+$ //匹配由數(shù)字和26個(gè)英文字母組成的字符串
^\w+$ //匹配由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串
評(píng)注:最基本也是最常用的一些表達(dá)式
^.*John.*$
匹配包括“John”的整行。
相關(guān)文章
- EmEditor是一款非常不錯(cuò)的文本編輯軟件,該軟件為廣大用戶提供了文字去重功能,那么EmEditor怎么去重呢?接下來小編就為大家?guī)斫獯?,一起來看看?/div> 2018-11-12最近,很多網(wǎng)友問小編如何用EmEditor快速去掉文件中所有的空行?今天小編就給大家整理了使用EmEditor快速批量去掉文件中所有空行的方法步驟,需要的朋友歡迎借鑒2018-06-22
EmEditor快速給純文本文件每行前端加上自動(dòng)編號(hào)
為了幫助大家更好的使用EmEditor軟件,這篇教程將將大家如何使用EmEditor快速給純文本文件每行前端加上自動(dòng)編號(hào),方法簡(jiǎn)單實(shí)用,經(jīng)常使用EmEditor軟件的朋友建議GET2018-06-22EmEditor怎么選擇一列文本 EmEditor選擇列的方法
EmEditor一個(gè)好用并且免費(fèi)的文本編輯器,最近,很多網(wǎng)友問小編EmEditor怎么選擇一列文本?今天小編就給大家分享EmEditor選擇列的方法,非常簡(jiǎn)單,感興趣的朋友不妨去了解一2018-06-22EmEditor Professional(文本編輯器)使用教程(適用于初學(xué)者)
EmEditor Professional怎么使用呢?下面小編就為大家具體的講解EmEditor Professional如何設(shè)置以及使用,需要的用戶快來試試吧,此教程非常適用于初學(xué)者2016-10-18文本中如何批量添加括號(hào)?使用EmEditor批量添加括號(hào)教程圖解
如何這里有一份文字材料,而我們需要給內(nèi)容中所有的圖注都加上括號(hào)應(yīng)該怎么操作呢?針對(duì)此問題,本文就為大家介紹使用EmEditor批量添加括號(hào)的方法,有興趣的朋友們可以了解2015-05-29EmEditor是什么 EmEditor為什么程序員都改用它了
EmEditor 是啥?它是一款和UltraEdit、EditPlus類似的文本編輯器2013-12-22很多功能,各大文本編輯器都會(huì)提供,而且,各大文本編輯器都會(huì)提供配置功能,讓它更加適合您,而不是每個(gè)人的編輯器都一個(gè)樣2013-12-22EmEditor 正則表達(dá)式使用基礎(chǔ)與實(shí)戰(zhàn)
EmEditor 正則表達(dá)式使用基礎(chǔ)與實(shí)戰(zhàn)2013-11-06EmEditor是一款功能非常強(qiáng)大的文本編輯軟件,該軟件為廣大用戶提供了非常多的文字處理功能,宏就是其中之一,那么EmEditor怎么用宏呢?接下來小編就為大家?guī)斫獯穑黄饋?/div> 2018-11-12最新評(píng)論
大家感興趣的內(nèi)容
- 1VS2010破解版迅雷電驢下載 visual studio2010簡(jiǎn)體中文
- 2navicat for mysql怎么注冊(cè)?navicat11全系列破解教程
- 3sublime text 3 快捷鍵大全以及配置編譯環(huán)境
- 4pycharm 2021最新永久激活碼(絕對(duì)有效,可激活至2100
- 5MyEclipse 10.x 通用破解教程圖文詳解(附官方安裝包下
- 6在PC上測(cè)試移動(dòng)端網(wǎng)站和模擬手機(jī)瀏覽器的5大方法
- 7webstorm2020.3.3安裝激活教程(永久破解激活 有效期至
- 8Eclipse中文版之完美漢化教程(詳細(xì)圖解)
- 9Win7下VS2010安裝教程(詳細(xì)圖解)
- 10Visual Studio 2012 Ultimate旗艦版下載地址與序列號(hào)
最近更新的內(nèi)容
- WebStorm如何調(diào)試Vue項(xiàng)目? webstorm配置vue開發(fā)環(huán)境指
- VSCode和webstorm怎么設(shè)置綠色護(hù)眼背景? 綠豆沙背景色
- WebStorm常用插件以及實(shí)用設(shè)置分享
- 如何安裝配置WebStorm? WebStorm安裝與使用全方位指南
- Webstorm怎么配置? Webstorm入門之軟件配置教程
- Webstorm怎么設(shè)置字體大小/背景顏色/背景圖片?
- 提升代碼搜索效率! VSCode里DeepSeek插件安裝與配置指
- VScode上ESP32開發(fā)插件安裝失敗怎么辦?
- 提升你的編程效率! VSCode的初級(jí)使用教程超詳細(xì)版
- 新手小白必看! VSCode的詳細(xì)安裝與配置全攻略