perl語言的正規表示式功能非常強大,基本上是常用語言中最強大的,很多語言設計正則式支援的時候都參考perl的正規表示式。以下面乙個例子入門:perl實現匹配乙個標量是否是數字。
#!/usr/bin/perl
$rely = ; #鍵盤輸入
if($rely =~ m/^[0-9]+$/)else
perl會儲存括號內的子表示式實際匹配的文字,perl通過變數1,1,
2,$3等等,分別指向第一組、第二組、第三組括號內的子表示式實際匹配的文字。正規表示式匹配成功一次,perl就會設定一次。
例如:以下兩種寫法,並不會影響匹配結果,但是卻會影響到子表示式的值。攝氏溫度和華氏溫度的轉換(對於上面儲存子表示式的應用)
#!/usr/bin/perl
$input = ; #接收使用者輸入的一行文字
chomp($input); #去掉文字末尾的換行符
if($input =~ m/^([-+]?[0-9]+)([cf])$/)else
printf
"%.2f c is %.2f f\n",$celsius, $fahrenheit;
}else
如果將程式中的正則匹配條件加上浮點數,則1、
1
、2、$3就分別代表了別的意思。
perl語言自身的元字元
此部分提到的是perl語言的元字元,而不是正規表示式的元字元。perl語言實現表示式替換
$var =~ s/regex/replacement/ //意思是將能夠匹配正則表達regex的字串都替換為replacement。
擴充套件正規表示式
事實上,一般實驗者只需要熟悉基礎的正規表示式就足夠了。不過有時候為了簡化命令操作,了解一些使用範圍更廣的擴充套件表示式,會更加方便。正規表示法 grep v regular express.txt grep v 需要使用到管線命令來搜尋兩次!那麼如果使用延伸型的正規表示法,我們可以簡化為 egrep...
擴充套件正規表示式
使用egrep或者grep e 一般都是使用egrp 語法 擴充套件正規表示式 re字元 意義與範例 重複乙個或者乙個以上的前乙個字元 egrep n go d regular express.txt 零個或者乙個前乙個字元 egrep n go?d regular express.txt or的意...
擴充套件正規表示式
擴充套件正規表示式 1.顯示三個使用者root,cisco,ccnp的uid和預設shell 普通正規表示式與擴充套件正規表示式 17 27 08 root localhost data cat etc passwd grep root b ccnp b cisco b cut d f1,3,7 r...