正則表示式怎麼寫及怎麼除錯

在工作中經常需要些很長的正則表示式,怎樣做到邊寫邊除錯正則表示式是否正確,也給無法匹配成功時快速定位到問題所在,下面詳細介紹下正則表示式怎麼寫及怎麼除錯。以/classic/ 和/classic/為例,寫正則表示式。

操作方法

(01)先分析下這兩條資料的共同點,資料的格式一樣/classic/send()數字,不同點就是第二條資料send後面多了mail這個單詞,ts後面的數字不一樣。

(02)先介紹下正則表示式簡單需要用到的:(1) .* 匹配除換行符之外的任意字元  (2)*零次或者多次匹配前面的字元或者子表示式  (3)|表示或的關係 [0-9]*取0-9的數字鐘的零個或多個 (4)()去裡面的值。

(03)下載個正則表示式的除錯工具regdebug,使用很簡單,直接雙擊regdebug的windows批處理檔案,就自動彈出兩個框,一個為java執行的框,一個為除錯正則表示式的框。

正則表示式怎麼寫及怎麼除錯

(04)待解析的資料,直接把上面需要分析的兩條資料中的一條複製到框中;正則表示式,填寫自己寫好的表示式;在正則表示式中使用(),為括號內的值,點選除錯,可以在解析結果中看見是否匹配正確。

正則表示式怎麼寫及怎麼除錯 第2張

(05)現在寫正則表達。(/classic/send.*)其中.*代表後面的任意字元,主要測試下前面的是否匹配,點選除錯,看看結果中是否把整個資料都表示出來。

正則表示式怎麼寫及怎麼除錯 第3張

(06)send後面一個有mail一個為空,可以使用一個或的關係,繼續寫正則表示式(/classic/send(mail|()).*),在除錯一下。

正則表示式怎麼寫及怎麼除錯 第4張

(07)?是特殊字元,使用?進行匹配,(/classic/send(mail|())?.*),除錯一下。

正則表示式怎麼寫及怎麼除錯 第5張

(08)最後匹配ts後面的數字。使用[0-9]*進行匹配,除錯一下。

正則表示式怎麼寫及怎麼除錯 第6張

(09)在使用另一條資料除錯下寫好的正則表示式,是否正確。

正則表示式怎麼寫及怎麼除錯 第7張