正则的多行模式 m

来源:互联网 发布:不同的网络用户类型 编辑:程序博客网 时间:2024/05/16 12:51

        如下面的文本,把这段文本不按照换行符切割,直接整个文本匹配/^\s*(\d-\d+|\d-\d+-\d+-\d+)\s+(|OWNSP)\s+(\w+).+/,虽然这在RegexBuddy工具中匹配到正确的结果,但是放到myeclipse的脚本里时,会返回空值。因为RegexBuddy开启了多行匹配,但是Myeclipse没有,^这个符号会匹配文本的最开始部分。所以需要使用m多行模式。

例:var regGtsp =/^\s*(\d-\d+|\d-\d+-\d+-\d+)\s+(|OWNSP)\s+(\w+)/gm; 

         var gtsp=regGtsp.exec(content);
      while(gtsp){
   println(gtsp);
   sp=gtsp[1]+"";
   spid=gtsp[3]+"";
   spMap.put(sp,spid);
       gtsp=regGtsp.exec(content);
 }


文本:

<c7ldp:ls=all;

CCITT7 LINK SET DATA


LS             SPID     ASP            SPID
2-11-254-15    SHL5     


SLC ACL PARMG ST                   SDL                             SLI
 0  A1  25    C7STAH-193&&-223     SHL5-0,UPD1-33
 1  A1  25    C7STAH-673&&-703     SHL5-1,UPD1-2049


LS             SPID     ASP            SPID
2-11-254-16    SHL6     


SLC ACL PARMG ST                   SDL                             SLI
 0  A1  24    C7STAH-225&&-255     LSTP6-0,C7STAH-225,UPD1-417 
 1  A1  24    C7STAH-705&&-735     LSTP6-1,C7STAH-705,UPD1-2433


LS             SPID     ASP            SPID
2-11-255-4     SHH2