我想在OCaml中使用正则表达式,似乎是Str
模块提供了这些功能。
所以我尝试了一个简单的程序:
open Str
let regx = regexp "."
但是它给出了下面的错误
文件"lol.ml",第1行,字符0-1:错误:链接lol.cmo时出错:引用未定义的全局‘`Str’
就好像模块不存在一样,但是如果我删除了open Str
,它会告诉我regexp
是一个未绑定值。
我不知道这是什么问题,Str
应该是一个标准模块(根据http://caml.inria.fr/pub/docs/old-311/libref/Str.html的说法),所以我一无所知。我唯一认为的是签名(mli
)存在,但实现(ml
)不存在。
我正在根据ocaml
工具运行Objective Caml version 3.11.0
。
有人能帮我解决这个问题吗?提前感谢
发布于 2010-07-11 06:41:23
发布于 2010-07-11 08:22:43
或者您可以将
#load "str.cma";;
如果您是在解释器中执行此操作
发布于 2015-09-25 05:45:43
作为Str
模块的替代,还有Re2
。
使用opam install re2
your_file.ml
中安装它,如下所示:打开Re2.Std打开Re2.Infix let change input_text = Re2.rewrite_exn ~/"change this“"to”input_text let () = printf "%s“(更改"change this”)使用Re2.rewrite_exn编译
https://stackoverflow.com/questions/3221067
复制相似问题