2016-10-31 9 views
2

I持って動作します。この正規表現:トラブルは、基本的なパターンは動作しません

Str.string_match (Str.regexp "[0-9][0-9][0-9][0-9]\\.[0-9][0-9]\\.[0-9][0-9]") dir 0 

は、しかし、私はそれを簡素化したいとありました

"\\d{4}\\.\\d{2}\\.\\d{2}" 

それは単に動作しません。他の試みはうまくいっていますが、d、{}に問題があり、文字でグループ化しても( )このパターンは他の言語でも使用されていて、この巨大なリストの例でも使用されていますhttp://pleac.sourceforge.net/pleac_ocaml/patternmatching.html

アイデアありがとう

+0

ことだが動作しない場合は私に知らせてください – Plycoder

答えて

1

ocaml-re(純粋なOCamlで書かれ、POSIXとPCREのサブセットを含む複数のregex構文をサポートしています)のような "\ d"構文をサポートする別のライブラリを使用できます。例えば

$ opam install re 

$ ocaml 
# #use "topfind";; 
# #require "re.pcre";; 
# let re = Re_pcre.regexp "\\d{4}\\.\\d{2}\\.\\d{2}";; 
# Re.execp re "1234.01.243";; 
- : bool = true 
# Re.execp re "1234.501.24";; 
- : bool = false 
関連する問題