亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3577 | 回復: 4
打印 上一主題 下一主題

【已解決】perl的匹配問題 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-03-10 14:45 |只看該作者 |倒序瀏覽
本帖最后由 andy20008 于 2014-03-10 15:38 編輯

我有一段內(nèi)容要匹配,需求是這樣的:
先要匹配到:backtrace,然后緊接著下面的幾行還要匹配到:/system/lib/libhoudini.so,這才算匹配完成,然后我再執(zhí)行處理。

具體要匹配的源文件內(nèi)容如下,
  1. 02-18 15:29:32.741 I/DEBUG   (  143): backtrace:

  2. 02-18 15:29:32.741 I/DEBUG   (  143):     #00  pc 0016f113  /system/lib/libhoudini.so.3.3.9.44007

  3. 02-18 15:29:32.741 I/DEBUG   (  143):     #01  pc 000febf4  [stack:30512]

  4. 02-18 15:29:32.741 I/DEBUG   (  143):     #02  pc 00068527  /system/lib/libhoudini.so.3.3.9.44007

  5. 02-18 15:29:32.741 I/DEBUG   (  143):     #03  pc 0011f6f3  /system/lib/libhoudini.so.3.3.9.44007
復制代碼
因為需求的要匹配的兩個東東不是在同一行,使我犯難了。我該如何實現(xiàn)呢?謝謝!

【解決方法見5樓】

論壇徽章:
8
技術(shù)圖書徽章
日期:2013-09-30 08:51:28技術(shù)圖書徽章
日期:2013-12-11 09:26:39白羊座
日期:2013-12-27 15:27:13金牛座
日期:2014-01-06 09:13:05天蝎座
日期:2014-01-21 14:23:28酉雞
日期:2014-05-09 16:51:12卯兔
日期:2014-08-11 16:49:1515-16賽季CBA聯(lián)賽之八一
日期:2017-08-14 23:24:57
2 [報告]
發(fā)表于 2014-03-10 14:55 |只看該作者
用$.這個東東控制一下就好了哦

論壇徽章:
0
3 [報告]
發(fā)表于 2014-03-10 15:09 |只看該作者
本帖最后由 andy20008 于 2014-03-10 15:11 編輯

回復 2# xiumu2280

能否給一下代碼?謝謝!

用 $. 好像不行,每兩行中間是有空行的。
   

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [報告]
發(fā)表于 2014-03-10 15:22 |只看該作者
回復 1# andy20008

keep the result to a variable( ex: $last)

# cat keep_last.pl
use strict;
use warnings;

my $last = 0;
while(<DATA>){
  chomp;
  next if(m/^\s*$/);
  if($last == 1 and m(/system/lib/libhoudini\.so)){
    print "match: $_\n";
  }
  if(m/backtrace:/){
    $last = 1;
  }
  else{
    $last = 0;
  }

}


__DATA__
02-18 15:29:32.741 I/DEBUG   (  143): backtrace:

02-18 15:29:32.741 I/DEBUG   (  143):     #00  pc 0016f113  /system/lib/libhoudini.so.3.3.9.44007

02-18 15:29:32.741 I/DEBUG   (  143):     #01  pc 000febf4  [stack:30512]

02-18 15:29:32.741 I/DEBUG   (  143):     #02  pc 00068527  /system/lib/libhoudini.so.3.3.9.44007

02-18 15:29:32.741 I/DEBUG   (  143):     #03  pc 0011f6f3  /system/lib/libhoudini.so.3.3.9.44007

   

論壇徽章:
0
5 [報告]
發(fā)表于 2014-03-10 15:34 |只看該作者
本帖最后由 andy20008 于 2014-03-10 15:35 編輯

回復 4# jason680

謝謝回復。你的我試了一下,只能匹配到一行:/system/lib/libhoudini\.so,后面的還有這樣的內(nèi)容就匹配不到了。


不過,我自己已經(jīng)實現(xiàn)了:
通過兩個變量用來記錄行號的,第一個用來記錄匹配到:“backtrace”的,第二個用來記錄匹配到:“/system/lib/libhoudini.so”的,
通過后面的變量減去前面的變量,其值在某個數(shù)字范圍內(nèi)就OK了。

感覺這個辦法比較笨,不過還是實現(xiàn)了我的需求。呵呵。

   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP