
我有一份文件,其中到處都有(用戶的TL)。我想用任何東西替換它(從而在任何地方刪除它),但用戶可能不同,或者可能有很多用戶(TL by user1)(TL by user3,superuser1)。到目前為止,我已經嘗試查找(TL by .*)並替換為任何內容,但這會由於某種原因刪除除用戶和周圍括號之外的所有內容,所以我只剩下(user1)或(user3 ,superuser1)。我怎麼能讓正則表達式匹配並替換整個匹配(TL由用戶),包括parans和內部的所有內容?
這是 Word 2010 上的,今天晚些時候我回家後會提供更多信息
答案1
Office 中沒有實際的「RegEx」搜索,但您可以使用「使用通配符」選項。
因此,由於它不是真正的正規表示式,因此.
沒有任何幫助。您只需要*
通配符。
下一個技巧是,在 Word 中執行通配符搜尋時,括號()
用於分組(就像在 RegEx 中一樣),因此如果要搜尋文字括號,則需要使用反斜線 ( \
) 對其進行轉義。
將所有這些放在一起,我最終得到了這個 Find 命令,它可以按照您的需求工作(基於我的測試):
\(TL by *\)
我使用的尋找和替換對話框設定:
答案2
您的問題缺少版本和平台信息,但我確實找到了本文在 MS 網站上。簡而言之,
輸入以下名稱列表
Chuck Norris Bruce Lee James Bond Bond
在「主頁」標籤上的編輯組,點選代替打開尋找和替換對話框。
- 如果您沒有看到使用通配符複選框,點擊更多的,然後選取該複選框。如果不選取該複選框,Word 會將通配符視為文字。
在中輸入以下字符找什麼盒子。確保兩組括號之間包含空格:
(<*>) (<*>)
在裡面用。框中,鍵入以下字元。確保在逗號和第二個斜線之間包含空格:
\2, \1
選擇該表,然後按一下全部替換。 Word 會交換名稱並用逗號分隔它們,如下所示
Norris, Chuck Lee, Bruce Bond, James Bond
警告,這對我在 OSX 10.10.2 上使用 Office 2011 不起作用。但是,該頁面上還有更多高級功能的資訊。
答案3
微軟聲稱有自己的通配符語言“正則表達式”,並且僅在“高級查找或替換”對話框中可用。而且它的語言與其他正規表示式略有不同。