正規表示式(二)擴充套件應用(結合perl語言)

2021-08-25 19:31:52 字數 1193 閱讀 9591

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...