正则表达式不匹配字符串(OCaml Str模块)

时间:2016-10-03 16:21:30

标签: regex string ocaml

我有这个前言和正则表达式:

let regex = Str.regexp "\\([A-Za-z0-9]\\.*[A-Za-z0-9]\\)";;
let s = "--O--c-a-l**9+===";;

我的正则表达式匹配以字母或数字开头的字符串,其间的字符数为0,以字母或数字结尾。所以子串“O--c-a-l**9+”应匹配。

但是,当我看到我的前言是否与我的正则表达式匹配时,它一直说它不匹配

Str.search_forward regex s 0;;
Exception: Not_found.

而且我不确定我的正则表达式中缺少什么,因为它与我的字符串不匹配。

Str documentation

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

您逃脱了.,因此它只会匹配文字点。要匹配任何字符,请移除\\