用awk獲得匹配的正規表示式,完成Perl中的功能

2021-04-27 11:43:48 字數 504 閱讀 6518

一、問題如下:

有如下檔案

[root@localhost ~]# cat file

123a4wk123

123a3wk1234

[root@localhost ~]#

在perl中,可以用「()」來表示模式記憶體。

perl code

open

(fd,

file) or

die;

while

(<

fd>

)

可以獲得file檔案中的a4wk和a3wk兩個字串,但是這個功能怎麼用awk實現呢?

二、解決方法: 使用match內嵌函式

1)在awk中可以使用match函式,其原型如下:

match(s, r [, a])其中s是要匹配的串,r是正規表示式,a是陣列;

正規表示式 匹配

字串 void abtr quint32 ab 表示乙個正規表示式 template class bidirectionaliterator class allocator std allocator sub match bidirectionaliterator class match resul...

正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 解法 首先要想到用遞迴處理...

正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 class solutio...