如下面的文本,把这段文本不按照换行符切割,直接整个文本匹配/^\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 DATALS 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