Delphi 正則表達式語法(4): 常用轉義字符與 .

Delphi 正則表達式語法(4): 常用轉義字符與 .

// \d 匹配所有數字, 相當于 [0-9]
varreg: TPerlRegEx;
beginreg := TPerlRegEx.Create(nil);reg.Subject := '期待Delphi 2008 for Win32!';reg.RegEx?  := '\d';reg.Replacement := '◆';reg.ReplaceAll;ShowMessage(reg.Subject); //返回: 期待Delphi ◆◆◆◆ for Win◆◆!FreeAndNil(reg);
end;

// \D 匹配所有非數字, 相當于 [^0-9]
varreg: TPerlRegEx;
beginreg := TPerlRegEx.Create(nil);reg.Subject := '期待Delphi 2008 for Win32!';reg.RegEx?  := '\D';reg.Replacement := '◆';reg.ReplaceAll;ShowMessage(reg.Subject); //返回: ◆◆◆◆◆◆◆◆◆◆◆2008◆◆◆◆◆◆◆◆32◆◆FreeAndNil(reg);
end;

// \w 匹配字母、數字與下劃線_, 相當于 [A-Za-z0-9_]
varreg: TPerlRegEx;
beginreg := TPerlRegEx.Create(nil);reg.Subject := '期待Delphi 2008 for Win32!';reg.RegEx?  := '\w';reg.Replacement := '◆';reg.ReplaceAll;ShowMessage(reg.Subject); //返回: 期待◆◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆◆◆◆!FreeAndNil(reg);
end;

// \W 匹配非字母、數字與下劃線_, 相當于 [^A-Za-z0-9_]
varreg: TPerlRegEx;
beginreg := TPerlRegEx.Create(nil);reg.Subject := '期待Delphi 2008 for Win32!';reg.RegEx?  := '\W';reg.Replacement := '◆';reg.ReplaceAll;ShowMessage(reg.Subject); //返回: ◆◆◆◆Delphi◆2008◆for◆Win32◆◆FreeAndNil(reg);
end;

// \s 匹配任何空白, 包括空格、制表、換頁等, 相當于 [\f\n\r\t\v]
varreg: TPerlRegEx;
beginreg := TPerlRegEx.Create(nil);reg.Subject := '期待Delphi 2008 for Win32!';reg.RegEx?  := '\s';reg.Replacement := '◆';reg.ReplaceAll;ShowMessage(reg.Subject); //返回: 期待Delphi◆2008◆for◆Win32!FreeAndNil(reg);
end;{\f : 換頁符\n : 換行符\r : 回車符\t : 制表符(Tab)\v : 垂直制表符
}

// \S 匹配任何非空白, 相當于 [^\f\n\r\t\v]
varreg: TPerlRegEx;
beginreg := TPerlRegEx.Create(nil);reg.Subject := '期待Delphi 2008 for Win32!';reg.RegEx?  := '\S';reg.Replacement := '◆';reg.ReplaceAll;ShowMessage(reg.Subject); //返回: ◆◆◆◆◆◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆◆◆◆◆◆FreeAndNil(reg);
end;

// \x 匹配十六進制的 ASCII
varreg: TPerlRegEx;
beginreg := TPerlRegEx.Create(nil);reg.Subject := 'CodeGear Delphi';reg.RegEx?  := '\x61'; // a 的 ASCII 值是 97, 也就是十六進制的 61reg.Replacement := '◆';reg.ReplaceAll;ShowMessage(reg.Subject); //返回: CodeGe◆r DelphiFreeAndNil(reg);
end;//非常遺憾 TPerlRegEx 不能使用 \u 或 \U 匹配 Unicode 字符!

// . 匹配除換行符以外的任何字符
varreg: TPerlRegEx;
beginreg := TPerlRegEx.Create(nil);reg.Subject := '期待' + #10 + 'Delphi 2008 for Win32!'; //#10是換行符reg.RegEx?  := '.';reg.Replacement := '◆';reg.ReplaceAll;ShowMessage(reg.Subject);{返回:◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆}FreeAndNil(reg);
end;

轉載于:https://www.cnblogs.com/honeynm/p/4058680.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375532.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375532.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375532.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言操作mysql

php中 mysqli, pdo 可以用 mysqlnd 或 libmysqlclient 實現 前者 從 php 5.3.0起已內置到php中, 并且支持更多的特性,推薦用 mysqlnd mysqlnd , libmysqlclient 對比:http://php.net/manual/en/mysqlinfo.library.choosing.php mysqlnd 目前是…

Hadoop DistributedCache分布式緩存的使用

轉載請注明:http://www.cnblogs.com/demievil/p/4059141.html 我的github博客:http://demievil.github.io/ 做項目的時候遇到一個問題,在Mapper和Reducer方法中處理目標數據時,先要去檢索和匹配一個已存在的標簽庫,再對…

每日溫度

根據每日 氣溫 列表,請重新生成一個列表,對應位置的輸出是需要再等待多久溫度才會升高超過該日的天數。如果之后都不會升高,請在該位置用 0 來代替。 例如,給定一個列表 temperatures [73, 74, 75, 71, 69, 72, 76, 73]&#xf…

什么是Modbus

什么是Modbus 1. Modbus如何工作 Modbus是通過設備之間的幾根連線來傳遞數據,最簡單的設置就是主站和從站之間用一跟串口線相連。數據通過一串0或者1來傳遞,也就是位。0為正電壓,1為負電壓。位數據傳遞速度非常快,常見的傳輸速度為…

博客剛剛開通!

今天老賊開播了!以后請大家多多關照! 轉載于:https://www.cnblogs.com/xiaosayi/p/4065313.html

Android實例-拍攝和分享照片、分享文本(XE8+小米2)

結果: 1.分享文本不好使,原因不明。有大神了解的,請M我,在此十分感謝。 2.如果想支持圖片編輯,將Action事件的Editable改為True。 相關資料: 官網地址:http://docwiki.embarcadero.com/RADStudi…

go語言 expected ; found a

錯誤代碼,這是一段測試go語言類型轉換的代碼 package type_testimport "testing"type MyInt int64func TestImplicit(t *testing.T) {var a int32 1var b int64 3b (int64)avar c MyInt 4// c bt.Log(a, b, c) }報錯代碼 b (int64)a改正 b int6…

win8 metro 調用攝像頭拍攝照片并將照片保存在對應的位置

剛剛做過這類開發&#xff0c;所以就先獻丑了&#xff0c;當然所貼上的源代碼都是經過驗證過的&#xff0c;已經執行成功了&#xff0c;希望能夠給大家一些借鑒&#xff1a; 以下是metro UI代碼&#xff1a; <Pagex:Class"Camera.MainPage"xmlns"http://sche…

poj 3678 Katu Puzzle(2-sat)

Description Katu Puzzle is presented as a directed graph G(V, E) with each edge e(a, b) labeled by a boolean operator op (one of AND, OR, XOR) and an integer c (0 ≤ c ≤ 1). One Katu is solvable if one can find each vertex Vi a value Xi (0 ≤ Xi ≤ 1) suc…

go 語言 first argument to append must be slice

錯誤代碼 func TestSliceGrowing(t *testing.T) {s : [4]int{1, 2, 3, 4}for i :0; i<10; i {s append(s, i)t.Log(len(s), cap(s))} }報錯代碼 s append(s, i)原因&#xff1a;append的第一個參數必須是切片 更正 func TestSliceGrowing(t *testing.T) {s : []int{1,…

豆瓣網靜態頁面

divcss網站登錄注冊豆瓣讀書視頻 音樂同城小組閱讀 豆瓣FM東西更多豆瓣視頻 影訊&購票電視劇排行榜 分類影評預告片 向后向前3/5正在熱映全部正在熱映>>即將上映 烈日灼心 4.7終結者&#xff1a;創世紀... 4.7百團大戰 4.7刺客&#xff1a;聶隱娘 4.7近期熱門更多影視…

C++并發編程實戰(豆瓣評分5.4)

評分已說明一切&#xff0c;切勿踩坑&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 推薦的翻譯 C并發編程實戰 關注公眾號回復【C并發編程實…

Please use boost/bind/bind.hpp + using namespace boost::placeholders

The practice of declaring the Bind placeholders (_1, _2, …) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior. 提示w…

奔跑吧,兄弟

10月底的時候&#xff0c;不能忍受老婆的奚落&#xff0c;開始了我的跑步計劃。 說說&#xff0c;跑步需要注意的事項&#xff0c;首先你得有雙跑步鞋&#xff0c;我有一次是穿了薄底鞋跑的&#xff0c;結果&#xff0c;打滿了水泡。跑步前控制飲水&#xff0c;最好在飲食后2個…

2299 Ultra-QuickSort(歸并)

合并排序第一次。連環畫看著合并看著別人的博客的想法。http://poj.org/problem?id2299 #include <stdio.h> #include <stdlib.h>#define MAX 500001int n,a[MAX], t[MAX]; long long int sum;//歸并 void Merge(int l, int m, int r) {int p0;int il, jm1;while…

由openSession、getCurrentSession和HibernateDaoSupport淺談Spring對事物的支持

由openSession、getCurrentSession和HibernateDaoSupport淺談Spring對事物的支持 Spring和Hibernate的集成的一個要點就是對事務的支持&#xff0c;openSession、getCurrentSession都是編程式事務&#xff08;手動設置事務的提交、回滾&#xff09;中重要的對象&#xff0c;Hi…

【tool】沒有需求文檔的時候如何來設計測試用例

沒有需求文檔的時候如何來設計測試用例 1.根據客戶的功能點整理測試需求追朔表&#xff1a; 一般的客戶都要把要開發軟件的功能點寫成一個表格交給市場部&#xff0c;讓市場部門轉交研發部。所以客戶的功能點是編寫測試用例一個最最重要的依據。 2.根據開發人員的Software Spec…

go返回多個值和python返回多個值對比

go package mulVals_test import "testing" func returnMultiValues(n int)(int, int){return n1, n2 }func TestReturnMultiValues(t *testing.T) {// a : returnMultiValues(5)// 這里嘗試用一個值接受多個返回值&#xff0c;將編譯錯誤a, _ : returnMultiValues(…

努力學習 HTML5 (3)—— 改造傳統的 HTML 頁面

要了解和熟悉 HTML5 中的新的語義元素&#xff0c;最好的方式就是拿一經典的 HTML 文檔作例子&#xff0c;然后把 HTML5 的一些新鮮營養充實進入。如下就是我們要改造的頁面&#xff0c;該頁面很簡單&#xff0c;只包含一篇文章。 ApocalypsePage_Original.html&#xff0c;這是…

判斷系統是大端還是小段

大端&#xff1a;高位內存存儲低序字節小端&#xff1a;高位內存存儲高序字節short a 0x0102&#xff0c;其中 01 高序字節&#xff0c; 02 低序字節 #include<stdio.h>int main() {union {short s;char c[sizeof(short)];} un;un.s 0x0102;if (sizeof(short) 2) {if…