正規表示式

2021-09-23 10:25:14 字數 1022 閱讀 8203

裡面的內容匹配乙個字元

[a-za-z_0-9]會匹配26個英文本元的大小寫以及0到9數字還有下劃線

. 小數點匹配任何乙個字元

\s匹配單個空白符,是[\t\n\r\f ]的簡寫形式

\s是\s 的反義詞,指非空白符

s/(\s+)\s+(\s+)/$2 $1/將兩個單詞交換

v5.10以後還可以這麼寫

s/(?\s+)\s+(?\s+)/$+ $+/

特殊符號\b匹配乙個單詞邊界

/\bwang\b/

正規表示式的量詞

量詞是用花括號括起來的

表示可以出現0到5次

. 表示任意字元可以出現0到5次

量詞+其實表示的意思是

?等價於

*等價於

perl正規表示式中的量詞是貪婪的,會匹配盡量多的內容

比如對於這個字串 "zhong:guo:ren",使用/.+:/會匹配到"zhong:guo:",而不是「zhong:"

在量詞後面加?會變成非貪婪匹配

/.+?:/會匹配到"zhong:",而不是"zhong:guo:"

也可以使用下面的正規表示式/[^:]+:/

在中的^表示非

直接放在//斜槓裡面的是指頭

/^zhong/則會從頭開始匹配zhong這個字元

在正規表示式中()表示乙個反向引用,表示乙個字元,{}表示量詞,也會在反向引用中使用,<>也會用於命名乙個反向引用

[root@rwsoda203db1 perl_tidb]# ./p.pl

guo:zhong

[root@rwsoda203db1 perl_tidb]# cat p.pl

#!/usr/bin/perl

my $var = "zhong guo";

$_ = $var;

s/(\s+)\s+(\s+)/$2:$1/;

print $_,"\n";

[root@rwsoda203db1 perl_tidb]#

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...