術(shù)語開始前,,我們先定義一對術(shù)語:
試一試,!本節(jié)中的步驟介紹了如何使用正則表達(dá)式轉(zhuǎn)置姓名。請記住,,始終使用“查找和替換”對話框來運(yùn)行您的正則表達(dá)式。同時請記住,,如果表達(dá)式?jīng)]有按預(yù)期工作,,你始終可以按下 CTRL + Z 來撤銷您的更改,然后嘗試其他表達(dá)式,。 轉(zhuǎn)置姓名
(<*>) (<*>)
\2, \1
此時,您可能會想知道:如果您的姓名中有一部分或全部包含中間名首寫字母,,該怎么做,? 請參閱使用正則表達(dá)式中的第一個示例以了解更多信息。 正則表達(dá)式的工作原理從此處開始,,請記住這條原則:文檔內(nèi)容決定了您絕大多數(shù)(并非全部)正則表達(dá)式的設(shè)計,。例如,在您之前使用的示例表格中,,每個單元格都包含了兩個單詞,。如果單元格包含兩個單詞和一個中間名首寫字母,您將使用不同的表達(dá)式,。 讓我們由內(nèi)而外檢查每個表達(dá)式: 在第一個表達(dá)式 (<*>) (<*>) 中:
換而言之,,該表達(dá)式說:“查找兩個單詞,。” 在第二個表達(dá)式 \2, \1 中:
換而言之,,該表達(dá)式說:“寫入第二個單詞,添加逗號,,寫入第一個單詞,。” 要查找和替換的項目的通配符可以使用通配符搜索文本,。例如,,可使用星號 (*) 通配符搜索字符串(例如,使用“s*d”將找到“sad”和“started”)。 使用通配符查找和替換文本
如果看不到“使用通配符”復(fù)選框,,請單擊“更多”。
若要取消正在執(zhí)行的搜索,,請按 Esc,。 可用的通配符
使用正則表達(dá)式這些示例會向您展示一些在 Microsoft Word 中使用正則表達(dá)式的方法 示例 1:轉(zhuǎn)置帶中間名首寫字母的姓名此示例使用通配符和字符代碼組合來轉(zhuǎn)置包含中間名首寫字母的姓名,。如果您不熟悉字符代碼,,請參閱“Word 幫助”主題查找和替換 Word 2010 文件中的文本和其他數(shù)據(jù)。 在操作過程中,,請記住下列事實(shí):
準(zhǔn)備示例數(shù)據(jù)
Joshua Quentin Barnhill 您的表格應(yīng)如下所示:
轉(zhuǎn)置帶首寫字母的姓名
(*) ([! ]@)^13 請確保在兩組括號之間和感嘆號之后輸入空格,。如果您之前沒有看到 ^13 字符,,我們會在下一節(jié)介紹它的作用。
\2, \1^p
Barnhill,,Joshua Quentin 將已更改的文本重新轉(zhuǎn)換為表格
會打開“將文本轉(zhuǎn)換成表格”對話框,。
逐個查看表達(dá)式讓我們從“查找內(nèi)容”框中的表達(dá)式開始,,逐個查看這些表達(dá)式,從而了解它們是如何工作的,。 整個表達(dá)式會查找兩組模式:一個帶有中間名首寫字母(或中間名)的名和一個姓,。(*) 會查找全部名。請注意,,它后面有一個空格,。 表達(dá)式的此部分與姓相匹配: ([! ]@)^13 感嘆號會排除括號中指定的任何字符。在此案例中,,[! ] 代表“查找除空格外的全部信息”,。它的作用是從姓前面剪裁掉空格。 @ 字符會查找前一個字符的一個或多個匹配項,,因此,,它的作用是確保刪除姓前面的全部空格。 我們需要知道姓的結(jié)尾處,,因此我們還使用 ^13 字符來搜索每一行結(jié)尾處的段落標(biāo)記,。但是,由于我們不準(zhǔn)備重新使用該段落標(biāo)記,,所以我們會用括號將所有其他的內(nèi)容括起來,。 您可以通過以下步驟來嘗試這一操作:將姓名再次復(fù)制到您的測試文檔中(請確保使用段落標(biāo)記分隔它們),然后使用 ([! ]@)^13 在“查找內(nèi)容”框中進(jìn)行搜索,。搜索會與每個姓相匹配,。 因?yàn)樗阉鲿谙乱恍械钠鹗继幹匦麻_始,所以我們使用星號通配符 (*) 來匹配此處到下一個姓的起始處之間的全部內(nèi)容,。 由于我們不準(zhǔn)備在姓前面重新使用空格,,我們使用括號來將它從兩組中排除: (*) ([! ]@)^13 “替換”表達(dá)式 (\2 \1) 會完成實(shí)際轉(zhuǎn)置,。在“替換為”框中,\2 字符讓搜索首先寫入第二個模式,,然后在該模式后添加逗號,。\1^p 字符指定了寫入第一個模式的位置并讓搜索在該模式后寫入段落標(biāo)記。 示例 2:轉(zhuǎn)置日期您可以使用此處顯示的正則表達(dá)式來將歐洲格式的日期轉(zhuǎn)換為美國 格式的日期,。 轉(zhuǎn)置日期
([0-9]{1,2})([dhnrst]{2}) (<[ADFJMNOS]*>) ([0-9]{4}) 請確保在以下左括號和右括號之間插入空格: 2}) (<[ and *>) ([0.
\3 \1, \4 請確保在每個字符集之間插入空格。
搜索會將 28th May, 2003 替換為 May 28, 2003,。 逐個查看表達(dá)式讓我們從“查找內(nèi)容”框中的表達(dá)式開始。該表達(dá)式的作用是將日期分解為四個部分,,由多組括號來表示,。每個模式都包含您在全部日期(以您在示例中使用的樣式書寫)中查找的組件,。按從左到右的順序:
序數(shù)詞組成了第二個模式,。序數(shù)詞包含“th”,、“nd”、“st”和“rd”,,因此我們將這些字母添加到范圍 [dhnrst] 中,。因?yàn)樾驍?shù)詞總是由兩個字母組成,我們將字母計數(shù)限制為 2:([dhnrst]{2}),。
請注意,,我們在“替換為”框中只寫入四個地址模式中的三個。我們從日期中省略了序數(shù)詞 ("th"),,因?yàn)槊绹袷降娜掌?不使用序數(shù)詞,。如果您想在日期中保留序數(shù)詞,請在“替換為”框中輸入 \3 \1\2, \4,。在本例中,,您在 3 和逗號之后都輸入了空格,其他地方則沒有,。 此時,,您可能要問:如何處理沒有拼寫月份名的日期?例如,, 28/05/03,。使用此表達(dá)式搜索: ([0-9]{1,2})/([0-9]{1,2})/([0-9]{2}) 使用此表達(dá)式替換: \3/\1/\2 如果日期使用的格式為 28/05/2003,則在最后一個模式中使用 {4},,而非 {2},。 關(guān)于在正則表達(dá)式中使用列表分隔符上面的例子使用以下參數(shù)來查找一位數(shù)或兩位數(shù)日期:{1,2},。在本例中,逗號將兩個值分隔開,。但是請記住,,您在 Windows 中的區(qū)域設(shè)置會控制您使用的列表分隔符。如果您的區(qū)域設(shè)置將分號的使用指定為列表分隔符,,則您必須使用分號,而非逗號,。 要找出您的操作系統(tǒng)指定的列表分隔符,,請執(zhí)行以下操作:
示例 3:向稱呼添加句號,,或從稱呼刪除句號在某些國家,,尊稱(Mr.、Mrs. 等)不包括句號,。此示例為您展示了如何向尊稱添加句號,,或從尊稱刪除句號,。從現(xiàn)在開始,我們假定您知道如何使用“查找和替換”對話框,。 此表達(dá)式會查找沒有句號的 Mr,、Ms、Mrs 和 Dr: <([DM][rs]{1,2})( ) 請注意,,表達(dá)式會使用另一個包含空格的模型,。該空格將緊隨尊稱之后(如果那里沒有句號)。此表達(dá)式會添加句號: \1.\2 要反向操作,,請使用此表達(dá)式進(jìn)行搜索: <([DM][rs]{1,2}),。 使用此表達(dá)式進(jìn)行替換: \1 示例 4:查找重復(fù)段落或行在使用此表達(dá)式時,您可能希望首先對列表排序,,以便將重復(fù)行相鄰放置,。同樣的,您需要刪除全部空白段落標(biāo)記,。換言之,,如果您使用空白段落來分隔文本塊,如下所示: Joshua Quentin Barnhill? 您需要刪除那些段落,,如下所示: Joshua Quentin Barnhill? 您可以用自己喜歡的方法來刪除空白段落,,但是,我們正在談?wù)撜齽t表達(dá)式,,因此這里就有一個能夠查找兩個連續(xù)段落字符的方法,。使用此表達(dá)式進(jìn)行搜索(@ 字符會重復(fù)查找和替換操作并刪除全部多個空行): (^13)\1@ 使用此表達(dá)式替換結(jié)果: ^p 現(xiàn)在,我們來看看替換文本的方法,。此表達(dá)式會查找兩個連續(xù)相同段落的任意序列: (*^13)\1 此表達(dá)式還會匹配在段落中結(jié)束的較長文本重復(fù)項,。例如,對以下列表運(yùn)行該表達(dá)式: Joshua Quentin Barnhill? 搜索會查找前四行,,只有當(dāng)總體模式更改時才會停止,。與之相反,如果您對此列表運(yùn)行該表達(dá)式: Joshua Quentin Barnhill? 表達(dá)式會只查找前兩個段落,。 要搜索更多的相同項目,,請?zhí)砑痈嗾嘉环@?,此表達(dá)式會查找三個連續(xù)相同段落: (*^13)\1\1 您還可以使用大括號來達(dá)到同樣的目的,。以下示例會分別查找兩個和三個相同段落: (*^13){2} 或者,您可以查找兩個或三個相同段落: (*^13){2,3} 您還可以查找兩個或更多相同段落: (*^13){2,} 可以使用以下字符串替換這些表達(dá)式中的任意一個: \1 此外,,您可以在必要時重復(fù)查找和替換操作,,以便替換您文檔中的全部重復(fù)段落,或者您可以添加 @ 通配符,讓表達(dá)式為您重復(fù)該操作: (*^13)\1@ 您還可以使用此方法來替換表格中的重復(fù)行,。要做到這一點(diǎn),,請首先刪除合并的單元格,然后為表格排序以相鄰放置重復(fù)單元格,。接著,,請將您的表格轉(zhuǎn)換成文本。(在“表格”菜單上,,指向“轉(zhuǎn)換”,,然后單擊“表格到文本”;出現(xiàn)提示時,,使用制表符分隔符,。)完成替換后,請將文本重新轉(zhuǎn)換成表格,。 更多示例要了解更多如何在 Word 中使用正則表達(dá)式的示例,請參閱 MVP FAQ 網(wǎng)站上的使用通配符查找和替換字符,。 轉(zhuǎn)自:http://office.microsoft.com/zh-cn/word-help/HA102350661.aspx#_Available_wildcards |
|