正規表示式 學習筆記一
徒弟:師傅呀,我接到新任務,要過濾字串,進行篩選,乙個個對比,貌似好麻煩喲!
師傅:都什麼年代啦,你的效率低不低呀?用正則吧,,誰用誰知道好!
1、什麼是正規表示式
在電腦科學中,是指乙個用來描述或者匹配一系列符合某個句法規則的字串的單個字串。在很多文字編輯器或其他工具裡,正規表示式通常被用來檢索和/
或替換那些符合某個模式的文字內容。許多程式語言都支援利用正規表示式進行字串操作。例如,在
perl
中就內建了乙個功能強大的正規表示式引擎。正規表示式這個概念最初是由
unix
中的工具軟體(例如
sed和
grep
)普及開的。正規表示式通常縮寫成「
regex
」,單數有
regexp
、regex
,複數有
regexps
、regexes
、regexen
。
參考**:
2、功能強大的文字處理語言
正規表示式是一種威力無比強大的**,幾乎在所有的程式語言裡和計算機平台上都可以用它來完成各種複雜的文字處理工作。本書從簡單的文字匹配開始,循序漸進地介紹了很多複雜內容,其中包括回溯引用、條件性求值和前後查詢,等等。每章都為讀者準備了許多簡明又實用的示例,有助於全面、系統、快速掌握正規表示式,並運用它們去解決實際問題。
3、相對傳統文字處理的優勢:
1)、靈活
2)、高效
3)、強大
4)、便捷
4、正規表示式例項
例項一:
驗證數字字串
要求:驗證乙個字串是否全部由數字構成
看個例子:
傳統的程式設計方式:
public
class
generalnumtest ;
for(string value : values)
if(ishexnumber
(value)) }}
//16進製制校驗
private
static
boolean
ishexnumber(string value)
else
}return
result;
}// 傳統校驗方式
private
static
boolean
isoctnumber(string value)
else
}return
result;}}
執行結果,這裡就不展示了。
正規表示式對數字字串驗證的解法:
public
class
generalnumtest ;
for(string value : values)
if(ishexnumber
(value)) }}
private
static
boolean
ishexnumber(string value)
private
static
boolean
isoctnumber(string value)
}依賴的regexes
:
public
class
regexes
執行結果:
校驗值:10
[10] 校驗是數字
[10] 校驗是16進製制數字
校驗值:
325678
[325678] 校驗是數字
[325678] 校驗是16進製制數字
校驗值:
987799
[987799] 校驗是數字
[987799] 校驗是16進製制數字
校驗值:
99999
[99999] 校驗是數字
[99999] 校驗是16進製制數字
校驗值:
amd
校驗值:
nvdita
校驗值:
86bf
[86bf] 校驗是16進製制數字
例項二:
驗證email
位址
要求:驗證乙個字串是否合法的email
位址
public
class
eamiltest ;
for(string email:emails)}}
private
static
boolean
isvalideemail(string email)
}public
class
regexes (?=\\b)";
}執行結果:
驗證的eamil是:[email protected]
[[email protected]] 是有效的郵件位址
驗證的eamil是:[email protected]
[[email protected]] 是有效的郵件位址
驗證的eamil是:[email protected]
[[email protected]] 是有效的郵件位址
驗證的eamil是:.leemaster@163
驗證的eamil是:luckdog.com
未完待續。。。
linux學習筆記 11 正規表示式
grep hadoop etc passwd cut d f7 du sort n grep v hadoop etc passwd grep hadoop etc passwd grep h.p etc passwd grep hadoop etc passwd grep hadoop etc p...
11 正規表示式
注意 任何預定義字元沒有加上數量詞之前只能匹配乙個字元。12 matches d d 這裡匹配了兩個 注意 這裡只匹配乙個 匹配 matches 匹配qq號 string qq 123456 string reg 1 9 0 9 boolean b qq.matches req 匹配手機號碼 str...
Linux學習11 正規表示式
正規表示式是一種描述文字字串或模式的方式,這樣程式就可以將該模式與任意文字字串相匹配,提供非常強大的搜尋能力。grep sed awk vim less nginx varnish等 正規表示式是從字元和運算構建的,並通過元字元來擴充,大部分字元都匹配自己,大部分元字元必須使用反斜槓 來轉義。使用正...