日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

查找和替換:正則表達(dá)式

 Blex 2012-03-15

通過使用正則表達(dá)式,可以在 Microsoft FrontPage 中執(zhí)行繁復(fù)的查找和替換操作。正則表達(dá)式是在搜索文本或代碼的過程中,說明要查找的一個或多個字符串范式,它由普通字符和特殊字符組成。如果您不知道所要 查找的確切文本或代碼,或者如果您正在查找文本或代碼字符串的多種類似情況時,可以使用正則表達(dá)式。

若要使用正則表達(dá)式,請打開 FrontPage 中的“查找和替換”對話框,選擇“正則表達(dá)式”復(fù)選框,并在“查找內(nèi)容”框中鍵入一個正則表達(dá)式范式。通過“正則表達(dá)式”箭頭,可以訪問部分常用語法字符。

在搜索中使用正則表達(dá)式時,特定的規(guī)則將控制哪些字符組合執(zhí)行哪些特定的匹配操作。每種正則表達(dá)式(或正則表達(dá)式組合)都要稱為語法。可以在一個語法中使用多個正則表達(dá)式以精確匹配您所要搜索的目標(biāo)。

下表說明了 FrontPage 的正則表達(dá)式和相關(guān)的語法。

表達(dá)式 語法 說明
任何字符 . 作為通配符,可匹配除換行符 (\n) 以外的任何單個打印或非打印字符。

例如,正則表達(dá)式DE>c.tDE>可匹配 cat、c t、cot 等字符串,但不匹配 cost。本例中,句號 (.) 是一個代表單個字符的通配符。它出現(xiàn)在字母 'c' 和 't' 之間,因此,字符 'c' 和 't' 之間的任何單個字符都與表達(dá)式匹配——即使是空格也一樣。

最多——零個或多個 * 匹配此表達(dá)式前一字符的零次或多次出現(xiàn),可匹配盡可能多的字符。

正則表達(dá)式 DE>.*DE> 匹配一個字符的零次或多次出現(xiàn)。

例如,正則表達(dá)式 DE>b.*kDE> 可以匹配 book、back、black、blank 和 buck。本例中,我們將句號 (.) 與星號 (*) 組合為一個語法。句號 (.) 后面緊接著星號 (*) 表達(dá)式。星號 (*) 匹配 'b' 和 'k' 間任何字符的零次或多次出現(xiàn)。句號 (.) 是 'b' 和 'k' 之間字符的通配符。本例中,這表示在 'b' 和 'k' 間可以重復(fù)出現(xiàn)任何字符。

最多——一個或多個 + 匹配此表達(dá)式前一字符的一次或多次出現(xiàn),可匹配盡可能多的字符。

正則表達(dá)式 DE>.*DE> 匹配一個字符的一次或多次出現(xiàn)。

例如,正則表達(dá)式 DE>bo+.DE> 可以匹配 bob、book 和 boot。本例中,我們將句號 (.) 與加號 (+) 組合為一個語法。加號 (+) 表達(dá)式后面緊接著句號 (.)。加號 (+) 匹配字母 'o' 的一次或多次出現(xiàn)。句號 (.) 是每個單詞最后一個字符的通配符,在本例中為 'b'、'k' 和 't'。

最少——零個或多個 @ 匹配此表達(dá)式前一字符的零次或多次出現(xiàn),可匹配盡可能少的字符。

正則表達(dá)式 DE>.@DE> 表示匹配一個字符的零次或多次出現(xiàn)。

例如,正則表達(dá)式 DE>a.@xDE> 匹配 'abxbxb' 中的 'abx' 和 'acxcxc' 中的 'acx'。本例中,我們將句號 (.) 與 at 符 (@) 組合為一個語法。句號 (.) 后面緊接著 at 符 (@) 表達(dá)式。at 符 (@) 匹配 'a' 和 'x' 間任何字符零次或多次出現(xiàn)。本例中,句號 (.) 是 'a' 和 'x' 之間字符 'b' 和 'c' 的通配符。

最少——一個或多個 # 匹配此表達(dá)式前一字符的一次或多次出現(xiàn),可匹配盡可能少的字符。

例如,正則表達(dá)式 DE>si.#erDE> 匹配 'sicker' 或 'silkier'。句號 (.) 與井字符 (#) 組合為一個語法。句號 (.) 后面緊接著井字符 (#) 表達(dá)式。井字符 (#) 匹配 'si' 和 'er' 之間任何字符的一次或多次出現(xiàn)。句號 (.) 是通配符,在單詞 'sicker' 中代表字符 'c' 和 'k',在單詞 'silkier' 中代表字符 'l'、'k' 和 'i'。

字符集 [ ] 匹配括號 ([ ]) 內(nèi)的任意一個字符??梢允褂眠B字號 (-) 指定字符的范圍,例如 DE>[a-z]DE>。

例如:

  • 正則表達(dá)式 DE>c[aou]tDE> 可以匹配 cat、cot 和 cut,但不能匹配 cet 或 cit。
  • 正則表達(dá)式 [0-9] 表示匹配任意一個數(shù)字。
  • 也可以指定多個字母范圍。正則表達(dá)式 DE>[A-Za-z] DE>表示匹配所有大寫和小寫字母。

行首 ^ 將匹配定位于行首。

例如,正則表達(dá)式 DE>^When inDE> 匹配以“When in”作為開始且出現(xiàn)于行首的任何字符串,例如“When in the course of human events”或“When in town, call me”。然而,此正則表達(dá)式不匹配出現(xiàn)于行首的“What and when in the course of human events”。

行尾 $ 將匹配定位于行尾。

例如,正則表達(dá)式 DE>professional$DE> 可匹配字符串“He is a professional”,但卻不匹配字符串“They are a group of professionals”。

文件開頭 ^^ 將匹配定位于文件開頭。僅適用于在源代碼或文本文件中搜索文本。

例如,若要匹配文件開頭的第一個 HTML 標(biāo)記,可使用下列正則表達(dá)式:DE>^^<html>DE>

文件末尾 $$ 將匹配定位于文件末尾。僅適用于在源代碼或文本文件中搜索文本。

例如,若要匹配文件末尾的最后一個 HTML 標(biāo)記(標(biāo)記后沒有空格),可使用下列正則表達(dá)式:DE></html>$$DE>

或者 | 表示在兩項(xiàng)間進(jìn)行選擇,即匹配 OR 符號 (|) 前面或后面的表達(dá)式。

例如,正則表達(dá)式 DE>(him|her) DE>匹配下列情況:

  • “it belongs to him”
  • “it belongs to her”

但它不能匹配“it belongs to them”。

轉(zhuǎn)義特殊字符 \ 匹配反斜線 ( \ ) 后面的字符。這樣可允許您查找正則表達(dá)式語法中使用的字符(如左大括號 ({) 或插字號 (^))或其他一些特殊字符。

例如,可使用 DE>\$DE> 匹配美元符號 ($) 而不會讓正則表達(dá)式“定位于行尾”。同樣,可使用表達(dá)式 DE>\.DE> 匹配句號 (.) 字符而不是任意單個字符(句號 (.) 表達(dá)式功能)。

標(biāo)記的表達(dá)式 {} 對與括號內(nèi)表達(dá)式匹配的文本加標(biāo)記。可以在“查找”表達(dá)式中匹配其他處的標(biāo)記文本或者使用 \N 將標(biāo)記文本插入“替換”表達(dá)式。

例如,假設(shè)您要查找連續(xù)出現(xiàn)兩次的單詞。若要搜索,請使用下列表達(dá)式:DE>{.#} \1DE>

假設(shè)連續(xù)出現(xiàn)的單詞由一個空格隔開,則需要在右側(cè)大括號與反斜線之間添加一個空格。

本例中,我們將帶有大括號 ({}) 的井字符 (#) 與句號 (.) 組合為一個語法。在此表達(dá)式中,DE>.#DE> 表示任何連續(xù)的字符。由于表達(dá)式的此部分括有大括號 ({}),連續(xù)的字符可被標(biāo)記起來并被指定為 \1。此表達(dá)式將查找跟隨空格的任何連續(xù)字符,且其后緊接著完全相同的該字符序列。

第 N 個標(biāo)記表達(dá)式 \N 在“查找”表達(dá)式中,\N 匹配由第 N 個標(biāo)記表達(dá)式指定的文本,其中 N 是 1 到 9 的數(shù)字。

在“替換”表達(dá)式中,\N 插入由第 N 個標(biāo)記表達(dá)式指定的文本,其中 N 是 1 到 9 的數(shù)字。\0 插入整個“查找”表達(dá)式指定的文本。

例如,假設(shè)要查找連續(xù)出現(xiàn)兩次的單詞,并使用一個單詞替換它們。若要搜索,請使用下列表達(dá)式:DE>{.#} \lDE>

假設(shè)連續(xù)出現(xiàn)的單詞由一個空格隔開,則需要在右側(cè)大括號與反斜線之間添加一個空格。本例中,我們將帶有大括號 ({}) 的井字符 (#) 與句號 (.) 組合為一個語法。

若要替換,請使用下列表達(dá)式:DE>\lDE>

\1 表示在查找字符串中第一個大括號部分找到的內(nèi)容。通過在替換操作中使用 \1,實(shí)際上是將連續(xù)出現(xiàn)兩次的單詞替換為一個單詞。

組表達(dá)式 ( ) 標(biāo)記子表達(dá)式的開始和結(jié)束。

子表達(dá)式是包含在括號 ( ) 中的正則表達(dá)式,例如下列表達(dá)式:DE>(ha)+DE>。本例中,我們將帶有括號組合 ( ) 的加號 (+) 組合為一個語法。此子表達(dá)式為 (ha),因?yàn)樗诶ㄌ?( ) 中。當(dāng)您添加加號 (+) 時,該表達(dá)式可以查找重復(fù)的字母對。加號 (+) 表示重復(fù)出現(xiàn)一次或多次的 'ha'。

此表達(dá)式匹配下列情形:'haha' 和 'hahaha'。

防止匹配 ~x 當(dāng) x 出現(xiàn)在表達(dá)式的該位置時會防止匹配。

例如,正則表達(dá)式 DE>real~(ity)DE> 匹配 "realty" 和 "really" 中的 "real",但卻不匹配 "reality" 中的 "real"。

換行符 \n 匹配“代碼”視圖中的換行符或“設(shè)計”視圖中的 <br>。

語法 (\n) 是匹配所有換行符的簡便方法。

制表符 \t 匹配單個制表符。

例如,如果要查找所有位于行首的制表符,可使用下列正則表達(dá)式:

DE>^\t+DE>

本例中,我們將帶有制表符 (\t) 的插字符 (^) 與加號 (+) 組合為一個語法。插字符 (^) 位于單個制表符字符表達(dá)式之前,用于匹配位于行首的所有制表符。加號 (+) 表示匹配一個或多個制表符字符。

任何一個不屬于該集合的字符 [^] 匹配任何一個不屬于插字號 (^) 后面的字符集的字符。

例如,若要匹配范圍之外的任何字符,可使用插字號 (^) 作為左側(cè)中括號后面的第一個字符。表達(dá)式 DE>[^269A-Z]DE> 匹配除 2、6、9 和任何大寫字母之外的所有字符。

重復(fù)表達(dá)式 ^n 匹配插字號 (^) 前面的表達(dá)式的 n 次出現(xiàn)。

例如,若 n 為 4,表達(dá)式 DE>[0-9]^4DE> 匹配任何 4 位數(shù)序列。在本例中,我們將字符集 ([ ]) 語法與重復(fù) (^n) 語法組合以展示一個正則表達(dá)式的實(shí)用方法。

字母數(shù)字字符 :a 匹配表達(dá)式 DE>[a-zA-Z0-9]DE>。

可以使用表達(dá)式 DE>[a-zA-Z0-9]DE> 匹配出現(xiàn)一次的字母(大寫或小寫)或數(shù)字。也稱為字母數(shù)字序列??墒褂煤唽懕磉_(dá)式 DE>:aDE> 代替 DE>[a-zA-Z0-9]DE>。

空格 :b 匹配代碼或文本中的空格。

例如,若要匹配行首的單個空格字符,可使用下列正則表達(dá)式:DE>^:bDE>

字母字符 :c 匹配表達(dá)式 DE>[a-zA-Z]DE>。使用此表達(dá)式可匹配所有大寫或小寫字母。

可以使用簡寫表達(dá)式 DE>:cDE> 代替所有 DE>[a-zA-Z]DE>。

十進(jìn)制數(shù) :d 匹配表達(dá)式 DE>[0-9]DE>。此表達(dá)式可匹配任何數(shù)字。

例如,假設(shè)您需要在文本文件中搜索社會福利號。美國的社會福利號的格式為 999-99-9999。DE>:d^3-:d^2-:d^4DE> 或 DE>[0-9]^3-[0-9]^2-[0-9]^4]DE>(使用 [0-9] 表示)可返回相同結(jié)果。

可使用簡寫表達(dá)式 DE>:dDE> 代替所有 DE>[0-9]DE>。

十六進(jìn)制數(shù) :h 匹配表達(dá)式 DE>[0-9a-fA-F]+DE>

使用此表達(dá)式可匹配由 'A' 和 'F' 間的大寫或小寫字母和任意數(shù)字組成的十六進(jìn)制數(shù)。

例如,假設(shè)網(wǎng)站中的網(wǎng)頁擁有多種不同的背景顏色,而您要將這些網(wǎng)頁的顏色更改為空白(如 000000)。但是,您不知道現(xiàn)有顏色值的十六進(jìn)制。使用下列正則表達(dá)式可查找所有現(xiàn)有十六進(jìn)制值:

DE>\#:hDE>

可以使用 [0-9a-fA-F] 搜索,但在本例中我們將反斜線 (\) 和帶有十六進(jìn)制數(shù)字 (:h) 語法組合在一起。\# 匹配非表達(dá)式井字符 (#),而 :h 匹配任何十六進(jìn)制字符序列。

若要替換現(xiàn)有十六進(jìn)制數(shù)值,可鍵入所需背景顏色的十六進(jìn)制數(shù)值: DE>000000DE>

標(biāo)識符 :i 匹配表達(dá)式 DE>[a-zA-Z_$][a-zA-Z0-9_$]*DE>

處理代碼時,如果需要匹配所有程序標(biāo)識符,則可使用簡寫表達(dá)式 DE>:i DE>,而無需鍵入上述冗長的表達(dá)式。

有理數(shù) :n 匹配表達(dá)式 DE>([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)|([0-9]+)DE>

如果需要匹配包含小數(shù)點(diǎn)的整個數(shù)值,可使用簡寫表達(dá)式 DE>:nDE>,而無需鍵入上述冗長的表達(dá)式。

引起的字符串 :q

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多