關於TPerlRegEx類使用上的一些經驗
在delphi裡可以使用類TPerlRegEx來實現對正規表示式的呼叫。
TPerlRegEx中有幾個函式和屬性我們在開發中會經常用到,如Subject、RegEx、Match、AgainMatch、SubExpressions、Replacement和ReplaceAll等等。
由屬性或函式名我們不難推測出他們的功能,這裡不詳細介紹屬性和函式的功能,做幾個例項供大家參考。
查詢指定格式的字串
我們要在字串中查詢類似如下格式的所有字串,
dse_sessionId=6Ee0Y05AkhLUeO4R8nenMvM,做過web開發的朋友可以輕易的看出這是html中會話ID,下面我舉例說明如何找出網頁中滿足如上格式的字串,
Const
CS_DEST_1 = 'dse_sessionId=w*';在w前有反斜扛
var
vPerlReg: TPerlRegEx;
begin
vPerlReg := TPerlRegEx.Create(nil);
vPerlReg.Subject := vList.Text; //將目標網而儲存在TStringList中
vPerlReg.RegEx := CS_DEST_1; //這裡是正規表示式
vPerlReg.Match; // 開始在網頁中查詢,成功找到匹配的字串時Match函式會返回true
vPerlReg.SubExpressions[0];// 這裡儲存了所查詢到的字串。
//注意上面的方法只找到滿足正規表示式中的一個字串,而不是所有的,如果想找到所有滿足正規表示式的字串,需要使用迴圈來完成,此時需要配合使用函式AgainMatch來完成迴圈。
// 還有一點需要注意,在目標裡如果包含有換行符,如#$D#$A,它會影響正規表示式查詢指定格式的字串,我的經驗是在具體執行查詢前將這些多餘的字元從目標中去掉。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7416120/viewspace-1043680/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於Canvas的一些經驗Canvas
- [TEAP]關於Canvas的一些經驗Canvas
- 關於URL優化的一些經驗優化
- 關於啟用 HTTPS 的一些經驗分享HTTP
- 關於typedef在struct使用上的一些問題Struct
- 關於Flutter空安全的一些使用經驗和理解Flutter
- 關於啟用 HTTPS 的一些經驗分享(二)HTTP
- 英文簡歷中關於專案經驗的一些有用的例子
- 關於我做事的方法經驗
- 關於Presentation Error的一點經驗Error
- 關於OT分類的一些處理
- 從JQuery出發總結的關於原型使用上的一些淺薄理解jQuery原型
- 關於ios多年面試的經驗總結iOS面試
- 關於找工作時的經驗問題
- 關於Web 2.0 的SOA 經驗教訓Web
- 關於模擬經營遊戲的一些思考遊戲
- 關於ASM的一點使用上的步驟ASM
- 關於類的初始化以及類的例項化一些思考
- 關於抽象類和介面一些簡單的概念抽象
- 關於使用者體驗的一些總結
- 分享一些閱讀Java相關框架原始碼的經驗Java框架原始碼
- 手記系列之四 ----- 關於使用MySql的經驗MySql
- 關於單頁應用(SPA)的經驗之談
- 二篇關於SAP專案經驗的生活文章
- 關於windows installer的一點小經驗(轉)Windows
- 關於HOJ的搭建和二開經驗小結
- 關於微服務的一些總結和經驗之談,來看看你都瞭解嗎微服務
- 編譯配置的一些經驗編譯
- 利用索引的一些經驗(SQLSERVER)索引SQLServer
- 關於一些類病毒隱藏技術的設想 (轉)
- 關於海量資料處理分析的經驗總結
- 關於STM324的一些實驗的準備資料
- 關於MySQL中的一些極限值的初步驗證糾錯MySql
- 滴滴經驗分享:SQLFlow如何讓運營專家用上AI?SQLAI
- 開發小程式的一些小經驗
- ReactNative開發的一些經驗React
- 後端的一些經驗與心得後端
- 我的一些學習經驗:ONVIF