home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pcre34.zip / PCRE34S.ZIP / vacpp4 / test / rxpcretest.cmd < prev   
OS/2 REXX Batch file  |  2000-11-22  |  2KB  |  61 lines

  1. /*
  2. THIS SOFTWARE IS PROVIDED BY THE AUTHOR OR CONTRIBUTORS ``AS IS'' AND
  3. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  4. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  5. ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  6. FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  7. DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  8. OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  10. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11. OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12. SUCH DAMAGE.
  13.  
  14. */
  15.  
  16. call  RxFuncAdd  'PCRELoad', 'RXLIBPCRE', 'PCRELoad' 
  17. call  PCRELoad
  18.  
  19. say '-------------------------------------------------'
  20. say  'Version     : ' PCREVersion()
  21. say  'PCRE Author : ' PCREAuthor()
  22. say  'Port Author : ' PCREPortAuthor()
  23.  
  24. /*set current locale*/
  25. say 'Use locale: 'PCREInit("");
  26. say '-------------------------------------------------'
  27. mask = "/\s*([_a-zA-Z][a-zA-Z0-9._]*)\s*=\s*([^#]*)(#|$)(.*)/"
  28. say 'Mask: 'mask
  29. say 'Compile. RC='PCRECompile('pcre', mask)
  30.  
  31. str.1 = '  parameter.number.1 = value '
  32. str.2 = '  parameter.number.2 = value  # remark '
  33. str.3 = '  2 = "zzz" '
  34.  
  35. do i = 1 to 3
  36.   say '------------------------------------------------'
  37.   rc = PCREExec('ofs',pcre,str.i);
  38.   say "exec rc="rc;
  39.   say 'String: "'str.i'"'
  40.  
  41.   select
  42.     when rc = 0 then do
  43.       do j = 1 to ofs.0 by 2
  44.         k = j; kk = k + 1;
  45.         say j'-'j+1': "'substr(str.i,ofs.k, ofs.kk - ofs.k)'"'
  46.       end    
  47.     end;
  48.     when rc = -1 then do
  49.       say 'Not found :('
  50.     end
  51.     otherwise
  52.       say 'RC='rc
  53.   end
  54.  
  55. end
  56. say 'Deregistring...'
  57. call PCREDrop
  58. exit 0
  59.  
  60.  
  61.