---- Support BBS ----
[ 前の記事 | 次の記事 | 一覧 ]

[00552] 1626 byte
投稿日時: 2002年1月15日(火) 19時4分17秒
ホスト名: pl086.nas323.soka.nttpc.ne.jp(210.165.163.182)

Re: BREGEXP DLL ラッパーDLL β公開

投稿者: 安久津
e-mail: (入力されていません)
   URL: (入力されていません)

 つづき。
● hidemaru の場合。
    $$str = "Yokohama 045-222-1111  Osaka 06-5555-6666  Tokyo 03-1111-9999";
    $$re  = "/(03|045)-(\\d{3,4})-(\\d{4})/";
    call bregmatch $$str, $$re; // 最初は引数付きで呼ぶ。
    ##len = ##return;
    while( ##len ){
        insert "length == " + str(##len) + "\n";
//      ##i = 0;
//      while( ##i < ##len ){ insert $SUB[##i] + "\n"; ##i = ##i + 1; }
        insert $SUB[0] +"\n"+ $SUB[1] +"\n"+ $SUB[2] +"\n"+ $SUB[3] +"\n";
        call bregmatch; // 次は引数無しで呼ぶ。
        ##len = ##return;
    }
endmacro;
bregmatch:
  // $$1 == string, $$2 == regular expression
  // ##return == length
  if( loaddllfile != hidemarudir + "\\bre_wrap.dll" ){
    $__DLL = loaddllfile; // もともと使っていた DLL 退避。
    loaddll hidemarudir + "\\bre_wrap.dll";
    if( ! result ) return 0;
  }
  if( $$1 != "" ){
    $__STR = $$1; $__RXP = $$2;
    #__POS = 0; #__LEN = strlen($__STR);
  }
  if( #__POS >= #__LEN ) return 0;
  $$p = dllfuncstr("BRE_MATCH", $__RXP, midstr($__STR, #__POS, #__LEN));
  if($$p == "") return 0;
  ##i = 0;
  $SUB[##i] = dllfuncstr("BRE_POSTOSTR", $$p);
  ##i = ##i + 1;
  ##s = strstr($$p, ":");
  ##tmp = val(midstr($$p,0,##s)) + val(midstr($$p, ##s+1, strlen($$p)-##s-1));
  #__POS = #__POS  + ##tmp;
  while( dllfunc("BRE_HASMORERESULTS") ){
    $$p = dllfuncstr("BRE_GETNEXT");
    $SUB[##i] = dllfuncstr("BRE_POSTOSTR", $$p);
    ##i = ##i + 1;
  }
  // #SUB = ##i; #LEN = ##i;
  // if( $__DLL != "" ) loaddll $__DLL; // くどいかも。
return ##i;

● 付記。
 DLL のロード/アンロードの確認をするのは面倒です。(^^;)
 田楽 DLLに含まれる日を待っています。
では。


[ 前の記事 | 次の記事 | 一覧 ]


<550> BREGEXP DLL ラッパーDLL β公開 (杉浦 まさき) 01/15 02:55
<551> Re: BREGEXP DLL ラッパーDLL β公開 (安久津) 01/15 19:02
 └>552< Re: BREGEXP DLL ラッパーDLL β公開 (安久津) 01/15 19:04
  └<553> Re: BREGEXP DLL ラッパーDLL β公開 (杉浦 まさき) 01/15 22:37
   └<554> Re: BREGEXP DLL ラッパーDLL β公開 (安久津) 01/16 18:18
    └<555> Re: BREGEXP DLL ラッパーDLL β公開 (安久津) 01/16 18:19
     └<556> Re: BREGEXP DLL ラッパーDLL β公開 (杉浦 まさき) 01/16 23:01
      └<557> Re: BREGEXP DLL ラッパーDLL β公開 (安久津) 01/17 02:09
       └<558> Re: BREGEXP DLL ラッパーDLL β公開 (安久津) 01/17 02:10
        └<559> Re: BREGEXP DLL ラッパーDLL β公開 (杉浦 まさき) 01/18 00:30
         └<560> Re: BREGEXP DLL ラッパーDLL β公開 (安久津) 01/18 10:45
          └<561> Re: BREGEXP DLL ラッパーDLL β公開 (杉浦 まさき) 01/19 01:32
           └<562> Re: BREGEXP DLL ラッパーDLL β公開 (安久津) 01/19 17:43

---- Support BBS ----