替換文字教學 |
簡介 |
字元 |
非列印字元 |
符合文字 |
反向參照 |
符合內容 |
大小寫轉換 |
條件式 |
本網站的其他內容 |
簡介 |
正規表示式快速開始 |
正規表示式教學 |
替換字串教學 |
應用程式和語言 |
正規表示式範例 |
正規表示式參考 |
替換字串參考 |
書籍評論 |
可列印 PDF |
關於本網站 |
RSS Feed 和部落格 |
大多數應用程式和程式設計語言都不支援替換文字中的任何特殊語法,以簡化輸入非列印字元。如果您是應用程式的最終使用者,這表示您必須使用 Windows 字元對應表等應用程式來協助您輸入無法在鍵盤上輸入的字元。如果您是程式設計人員,則可以將替換文字指定為原始碼中的字串常數。然後,您可以在程式設計語言中使用 字串常數語法 來指定非列印字元。
Just Great Software 應用程式 是例外。它們允許您使用特殊的跳脫序列來輸入一些常見的控制字元。使用 \t 以製表字元 (ASCII 0x09) 取代,使用 \r 以回車 (0x0D) 取代,並使用 \n 以換行 (0x0A) 取代。請記住,Windows 文字檔使用 \r\n 來終止列,而 UNIX 文字檔使用 \n。
Python 也支援上述的跳脫序列來取代文字,除了支援字串常數。Python 和 Boost 也支援這些較不常見的非可列印字元:\a(鈴聲,0x07)、\f(換頁,0x0C)和 \v(垂直定位標籤,0x0B)。
Just Great Software 應用程式和 Boost 也支援十六進位跳脫字元。您可以使用 \x{FFFF} 來插入 Unicode 字元。歐元貨幣符號佔用 Unicode 碼點 U+20AC。如果您無法在鍵盤上輸入,您可以使用 \x{20AC} 將其插入取代文字。JGsoft 應用程式也支援 \u20AC。對於 127 個 ASCII 字元,您可以使用 \x00 到 \x7F。如果您使用 EditPad 或 PowerGREP 編輯 8 位元組碼頁中的檔案,或使用 Boost 搭配 8 位元組字元字串,您也可以使用 \x80 到 \xFF 來插入那些 8 位元組碼頁中的字元。
Python 不支援取代文字語法中的十六進位跳脫字元,儘管它在字串常數中支援 \xFF 和 \uFFFF。
許多程式語言支援原始碼中字串文字的語法中非可列印字元的跳脫字元。然後,這些跳脫字元會在字串傳遞到搜尋和取代函數之前,由編譯器轉換成它們的實際字元。如果搜尋和取代函數不支援相同的跳脫字元,這可能會導致正規表示式指定為原始碼中的字串文字時,與從檔案讀取或從使用者輸入接收的正規表示式相比,行為上有明顯的差異。例如,JavaScript 的 string.replace() 函數不支援任何這些跳脫字元。但 JavaScript 語言確實支援字串文字中的跳脫字元,例如 \n、\x0A 和 \u000A。因此,在 JavaScript 中開發應用程式時,\n 僅在您將取代文字新增為原始碼中的字串文字時,才會被解釋為換行符號。然後,JavaScript 解譯器會轉換 \n,而 string.replace() 函數會看到實際的換行字元。如果您的程式碼從檔案讀取相同的取代文字,則 string.replace() 函數會看到 \n,它將其視為一個反斜線和一個文字 n。
頁面網址:https://regular-expressions.dev.org.tw/replacenonprint.html
頁面最後更新:2019 年 11 月 22 日
網站最後更新:2024 年 3 月 15 日
版權所有 © 2003-2024 Jan Goyvaerts。保留所有權利。