首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >OCaml中的正则表达式

OCaml中的正则表达式
EN

Stack Overflow用户
提问于 2010-07-11 06:31:05
回答 3查看 15.7K关注 0票数 23

我想在OCaml中使用正则表达式,似乎是Str模块提供了这些功能。

所以我尝试了一个简单的程序:

代码语言:javascript
复制
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

有人能帮我解决这个问题吗?提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-11 06:41:23

来自the manual

使用字符串库的

程序必须按如下方式链接:

ocamlc其他选项str.cma其他文件ocamlopt其他选项str.cmxa其他文件ocamlopt

票数 30
EN

Stack Overflow用户

发布于 2010-07-11 08:22:43

或者您可以将

代码语言:javascript
复制
#load "str.cma";;

如果您是在解释器中执行此操作

票数 23
EN

Stack Overflow用户

发布于 2015-09-25 05:45:43

作为Str模块的替代,还有Re2

使用opam install re2

  • Use
  1. 模块在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编译

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3221067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档