首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ocamllex中匹配重复和regexp

在ocamllex中匹配重复和regexp
EN

Stack Overflow用户
提问于 2014-06-12 16:05:16
回答 1查看 211关注 0票数 0

我正在尝试用ocamllex为某些特殊的本地语言编写一个lexer (这是为了我的目的做了一些修改)。有些词应配以其第一个字符,即加倍。但我找不到任何方法来表达这种重复的第一个字符。我都不能使用regex语法。

(A)-‘z’)\1‘a’-‘z’+

加上"\1“。Ocamllex说“非法逃跑序列\1”。我认为这对转义表达式的语法没有影响,但这并不是我想要的。我也不能以任何方式使用带大括号的重复语法(但无论如何也解决不了这个问题):

A‘’-‘z’{2}‘a’-‘z’+

我认为与regexp之后大括号中的oCaml代码有冲突。

有人对此有什么想法吗?

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2014-06-13 09:27:00

Ocamllex的regex没有重复语法。avaibable regex语法如参考手册中所列:

http://caml.inria.fr/pub/docs/manual-ocaml-4.01/lexyacc.html#sec274

我认为您可以手动列出所有可能的重复内容如下:

代码语言:javascript
复制
("aa"|"bb"|"cc"|"dd"|"ee"|"ff"| ..............)['a'-'z']+
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24188997

复制
相关文章

相似问题

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