opam-version: "2.0" maintainer: "paurkedal@gmail.com" authors: "Petter A. Urkedal " homepage: "https://github.com/paurkedal/ppx_regexp" bug-reports: "https://github.com/paurkedal/ppx_regexp/issues" license: "LGPL-3.0-only WITH OCaml-LGPL-linking-exception" dev-repo: "git+https://github.com/paurkedal/ppx_regexp.git" build: [ "jbuilder" "build" "--root" "." "-j" jobs "--no-config" {jbuilder:version >= "1.0+beta18"} "@install" ] depends: [ "ocaml" {>= "4.02.3"} "jbuilder" "ocaml-migrate-parsetree" {< "2.0.0"} "re" {< "1.7.2~"} "ppx_tools_versioned" "topkg-jbuilder" {build} ] synopsis: "Matching Regular Expressions with OCaml Patterns" description: """ This syntax extension turns match%pcre x with | {|re1|} -> e1 ... | {|reN|} -> eN | _ -> e0 into suitable invocations of the ocaml-re library. The patterns are plain strings of the form accepted by `Re_pcre`, with the following additions: - `(?...)` defines a group and binds whatever it matches as `var`. The type of `var` will be `string` if the match is guaranteed given that the whole pattern matches, and `string option` if the variable is bound to or nested below an optionally matched group. - `?` at the start of a pattern binds group 0 as `var : string`. This may not be the full string if the pattern is unanchored. A variable is allowed for the universal case and is bound to the matched string. A regular alias is currently not allowed for patterns, since it is not obvious whether is should bind the full string or group 0.""" url { src: "https://github.com/paurkedal/ppx_regexp/releases/download/v0.3.1/ppx_regexp-0.3.1.tbz" checksum: [ "sha256=adb6088930a3abd3a61a112e3d57f30fa4f4669b9897f0c5f3f98550ff755228" "md5=aa1a1aa9e89ec38f2b0596877c9f2819" ] }