tft每日頭條

 > 生活

 > word 正則表達式大括号

word 正則表達式大括号

生活 更新时间:2024-11-30 12:37:25

轉載自Stata連享會:


目錄

  • 1. 引言
  • 2. 内容轉置
    • 2.1轉置姓名
    • 2.2轉置日期
  • 3. 批量換行
    • 3.1 題号後加換行符
    • 3.2 選項前加換行符

1. 引言

在日常生活中,我們經常需要使用 Word 的查找與替換功能來處理一些簡單數據。如果數據相對複雜,我們就需要借助 Word 的正則表達式。關于正則表達式,我們先來定義以下術語:

  • 通配符:指的是可以用來代表一個或多個字的字符。例如,星号 * 通常代表一個或多個字符,問号 ? 通常代表單個字符;
  • 正則表達式:指的是可以用來查找和替換文本模式的文本字符和通配符組合。文本字符指的是必須存在于目标文本字符串中的文本,通配符指的是目标字符串中可能各不相同的文本。

描述

類型

示例

任一字符

?

s?t 可找到 "sat" 和 "set"

任何字符串

*

s*d 可找到 "sad" 和 "started"

單詞開頭

<

<(inter) 可找到 "interesting" 和 "intercept",但找不到 "splintered"

單詞結尾

>

(in)> 可找到 "in" 和 "within",但找不到 "interesting"

指定字符之一

[ ]

w[io]n 可找到 "win" 和 "won"

此範圍内的任一字符

[-]

[r-t]ight 可找到 "right" 和 "sight",範圍必須是升序

除了括号内範圍中的字符之外的任一字符

[!x-z]

t[!a-m]ck 可找到 "tock" 和 "tuck",但找不到 "tack" 或 "tick"

前一個字符或表達式的 n 個匹配項

{n}

fe{2}d 可找到 "feed",但找不到 "fed"

前一個字符或表達式的至少 n 個匹配項

{n,}

fe{1,}d 可找到 "fed" 和 "feed"

前一個字符或表達式的 n 到 m 個匹配項

{n,m}

10{1,3} 可找到 "10"、"100" 和 "1000"

前一個字符或表達式的一個或多個匹配項

@

lo@t 可找到 "lot" 和 "loot"

2. 内容轉置

本節介紹了如何使用正則表達式轉置姓名、轉置日期。

2.1 轉置姓名

第一步,啟動 Word,打開一個新的空白文檔。複制此文字,将它粘貼到該文檔中。

Josh Barnhill Doris Hartwig Tamara Johnston Daniel Shimshoni

第二步,在「開始」選項卡上的「編輯」組中,單擊「替換」以打開「查找和替換」對話框。

第三步,選中「使用通配符」複選框。若沒有看到「使用通配符」複選框,請單擊「更多」,然後選中該複選框。沒有選中該複選框時,Word 會将通配符視作文本。

第四步,在「查找内容」框中鍵入 (<*>) (<*>)。注:兩組括号之間包含了空格。

第五步,在「替換為」框中,鍵入 \2, \1。注:在逗号和第二個斜杠之間包含了空格。然後單擊「全部替換」。Word 會轉置這些姓名并使用逗号分隔它們。

word 正則表達式大括号(如何使用正則表達式高效替換)1

關于正則表達式,在第一個表達式 (<*>) (<*>) 中:

  • 星号 * 代表任意字符串,會返回單詞中的全部文本;
  • 小于和大于符号 < > 分别标記了每個單詞的開始和結束。它們确保搜索會返回單個單詞;
  • 它們之間的括号和空格将單詞拆分成不同的組,即 (第一個單詞) 和 (第二個單詞)。

在第二個表達式 \2, \1 中:

  • 斜杠 \ 與數字放在一起充當占位符;
  • 第一個占位符後的逗号,是在兩個被轉置的姓名之間插入想添加的标點符号;
  • 該表達式含義是,寫入第二個單詞,添加逗号,寫入第一個單詞。
2.2 轉置日期

第一步,啟動 Word,打開一個新的空白文檔。複制此文字,将它粘貼到該文檔中。注意粘貼時隻保留文本。

28th May 2003 1st Jun 2008 2nd Feb 2010 3rd Apr 2020

第二步,按照上文描述打開「查找和替換」對話框,并選中「使用通配符」複選框。

第三步,在「查找内容」框中鍵入 ([0-9]{1,2})([dhnrst]{2}) (<[ADFJMNOS]*>) ([0-9]{4})。

第四步,在「替換為」框中,鍵入 \3 \1, \4。注:确保在每個字符集之間插入空格。

第五步,單擊「全部替換」。

word 正則表達式大括号(如何使用正則表達式高效替換)2

關于正則表達式,第一個表達式 ([0-9]{1,2})([dhnrst]{2}) (<[ADFJMNOS]*>) ([0-9]{4}) 的作用是将日期分解為四個部分,由多組括号來表示。具體來看:

  • 第一部分 ([0-9]{1,2})。數字範圍 [0-9] 匹配第一個模式中的一位數數字。因為日期可以由兩個數字組成,我們讓搜索返回一位數或兩位數的日期 {1,2};
  • 第二部分由序數詞組成。序數詞包含 "th"、"nd"、"st" 和 "rd",因此我們将這些字母添加到範圍 [dhnrst] 中。因為序數詞總是由兩個字母組成,我們将字母計數限制為 2,即 ([dhnrst]{2});
  • 第三部分是查找月份名的文本字符和通配符。所有月份名都以這些大寫字母開頭 "ADFJMNOS"。我們不知道每個大寫字母後有多少個字符,因此我們在它們之後使用星号 *。我們隻對月份名本身感興趣,因此我們使用 < 和 > 字符來将結果限制為單個單詞,即 (<[ADFJMNOS]*>);
    • 星号 * 代表任意字符串,會返回單詞中的全部文本;
    • 小于和大于符号 < > 分别标記了每個單詞的開始和結束,它們确保搜索會返回單個單詞;
  • 第四部分為年。我們使用相同的數字範圍,但這次我們将計數限制為四個字符 ([0-9]{4})。

在第二個表達式 \2, \1 中:

  • 斜杠 \ 與數字放在一起充當占位符;
  • 第一個占位符後的逗号在兩個被轉置的姓名之間插入想添加的标點符号;
  • 該表達式的含義是,寫入第二個單詞,添加逗号,寫入第一個單詞。
3. 批量換行

本節介紹了如何使用正則表達式将 "題号" 替換成 "題号、 換行" 和将選項 "B." 替換成 "換行符 B."。

3.1 題号後加換行符

第一步,啟動 Word,打開一個新的空白文檔。複制此文字,将它粘貼到該文檔中。

5、風險管理的主體是( ) A、法人 B、個人 C、任何組織和個人 D、組織 6、風險管理效益的大小,取決于( ) A、是否能以最小風險成本取得最大安全保障 B、是否能以最小風險成本取得最小安全保障 C、是否能以最大風險成本取得最小安全保障 D、是否能以最大風險成本取得最大安全保障 7、風險管理的方法分為( ) A、控制型和财務型 B、自留型和轉移型 C、控制型和轉移型 D、自留型和控制型 8、利用簽訂銷售、建築、運輸合同處理風險的風險管理方法是( ) A、财務型保險轉移風險 B、财務型非保險轉移風險 C、避免型風險管理 D、控制型風險管理

第二步,按照上文描述打開「查找和替換」對話框,并選中「使用通配符」複選框。

第三步,在「查找内容」框中鍵入 (<[0-9]{1,2}>、)。

第四步,在「替換為」框中,鍵入 \1^p。注:确保在每個字符集之間插入空格。

第五步,單擊「全部替換」。

word 正則表達式大括号(如何使用正則表達式高效替換)3

關于正則表達式,在第一個表達式 (<[0-9]{1,2}>、) 中:

  • 小于和大于符号 < > 分别标記了每個單詞的開始和結束;
  • [0-9] 代表匹配從 0 到 9 的數字;
  • {1,2} 代表數字有 1 到 2 位。如果是 {1,7},就是數字有 1 到 7 位;
  • 頓号 、 則就代表字符串 "、"。

在第二個表達式 \1^p 中:

  • \1 代表第一個變量;
  • ^p 代表段落标記符号。
3.2 選項前加換行符

第一步,按照上文描述打開「查找和替換」對話框,并選中「使用通配符」複選框。

第二步,在「查找内容」框中鍵入 (<[BCD]{1,1}>)。

第三步,在「替換為」框中,鍵入 ^p\1。注:确保在每個字符集之間插入空格。

第四步,單擊「全部替換」。

word 正則表達式大括号(如何使用正則表達式高效替換)4

轉載自Stata連享會:

✌ 純屬練習Markdown,文章内容也經過精心挑選

✌ 為實現頁面中的跳轉,利用HTML語法的a标簽實現,可惜沒效果,知道原因的條友請告知

注意: 據Typora官方問檔顯示,可以用a标簽實現上述方法,不可以用HTML裡的span标簽

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved