caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Xavier Leroy <xavier.leroy@inria.fr>
To: Maxence Guesdon <maxence.guesdon@inria.fr>
Cc: "Kontra, Gergely" <kgergely@mlabdial.hit.bme.hu>, caml-list@inria.fr
Subject: Re: [Caml-list] (Sorry for my last post) lazyness, exceptions?, ocaml syntax rule-of-thumbs
Date: Fri, 27 Sep 2002 10:14:36 +0200	[thread overview]
Message-ID: <20020927101436.A911@pauillac.inria.fr> (raw)
In-Reply-To: <20020927100115.5ab3fec6.maxence.guesdon@inria.fr>; from maxence.guesdon@inria.fr on Fri, Sep 27, 2002 at 10:01:15AM +0200

> > Another annoying problem (maybe it is in the docs...), but I cannot find
> > a function, which checks, whether a string can match a regexp, and
> > return true or false. Search_forward, again, I think should be return an
> > option, and not trowing an exception.
> 
> See Str.string_match : regexp -> string -> int -> bool

In an attempt to prevent one more round of e-mails on this topic, let
me just add that string_match performs "anchored matching" (matching
the RE at the given location in the string) while search_forward
performs "unanchored matching" (matching at any location).  However,
the latter can be turned into the former by prefixing the regexp with ".*".
Hence, the following are equivalent:

        Str.string_match (Str.regexp ".*\\.html$") filename 0
and
        try
          ignore(Str.search_forward (Str.regexp "\\.html$") filename 0);
          true
        with Not_found ->
          false

This said, a much cleaner solution is

        Filename.check_suffix filename ".html"

Not only it is shorter, but under Windows it will perform
case-insensitive matching, like it should.

- Xavier Leroy
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2002-09-27  8:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-26 15:50 Kontra, Gergely
2002-09-27  8:01 ` Maxence Guesdon
2002-09-27  8:14   ` Xavier Leroy [this message]
2002-09-27 10:29     ` Kontra, Gergely
2002-09-27 14:50 ` Florian Hars
2002-09-27 15:07   ` Maxence Guesdon
2002-09-27 17:06     ` Kontra, Gergely
2002-09-27 18:22       ` Tim Freeman
2002-09-27 22:27     ` malc
2002-09-28  9:30   ` [Caml-list] stdlib req - iter and fold on channels Stefano Zacchiroli
     [not found] <Pine.LNX.4.44.0209300427310.1961-100000@home.oyster.ru>
2002-09-30  1:19 ` [Caml-list] (Sorry for my last post) lazyness, exceptions?, ocaml syntax rule-of-thumbs Alessandro Baretta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020927101436.A911@pauillac.inria.fr \
    --to=xavier.leroy@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=kgergely@mlabdial.hit.bme.hu \
    --cc=maxence.guesdon@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).