Browse thread
help with regular expression
-
zaid khalid
-
David Allsopp
-
Sylvain Le Gall
- Martin Jambon
-
Sylvain Le Gall
- Dawid Toton
-
David Allsopp
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Martin Jambon <martin.jambon@e...> |
| Subject: | Re: [Caml-list] Re: help with regular expression |
On 12/06/10 05:11, Sylvain Le Gall wrote:
> On 06-12-2010, David Allsopp <dra-news@metastack.com> wrote:
>> zaid Khalid wrote:
>>>
>>
>>> Hint I am using (Str.regexp)
>>
>> There are other libraries (e.g. pcre-ocaml) which provide different (I
>> would say more powerful, rather than strictly better!)
>> implementations.
>>
>>
>
> There is also syntax extension like mikmatch, that helps to write regexp
> in a very meaningful syntax:
>
> match str with
> | RE bol "a"* | "ab"* eol ->
> true
> | _ ->
> false
If I understand correctly the original problem, the solution is:
match str with
| RE ("a"* | "aba"*) eos ->
(* matches always the beginning of the string,
eos enforces a match at the end of the string,
and the vertical bar has the lowest priority
and so parentheses are needed. *)
true
| _ ->
false
> http://martin.jambon.free.fr/mikmatch-manual.html
> http://martin.jambon.free.fr/mikmatch.html
>
> You can use pcre and str with mikmatch.
I would recommend the pcre variant mostly for one feature that is not
provided by str: lazy quantifiers, i.e. "repeat as little as possible
before trying to match what comes next".
Martin