Erlang中文手册(Erldoc.com)  »  re  »  compile/1
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

re:compile/1

把一个正则表达式编译成一个正则匹配指令

用法:

compile(Regexp) -> {ok, MP} | {error, ErrSpec}

把一个正则表达式编译成一个匹配模式的正则指令,参数 Regexp 可以是任意 Perl 风格的正则表达式,其效用跟 re:compile/2 的 re:compile(Regexp, []) 一样

获取 IP 的正则

re:compile("\\d{1,3}\.\\d{1,3}\.\\d{1,3}\.\\d{1,3}").

获取邮箱地址的正则

re:compile("[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-z]{2,3}").

如果一个正则表达式多次使用到,那么把正则表达式预先编译是一种很高效的做法,可以有一次编译,多次重复调用的效果。

re:compile/1 经常跟 re:run/2re:run/3re:replace/3re:replace/4re:split/2re:split/3 这几个正则函数搭配使用:

Url = "http://220.181.112.143/",
{ok, MatchPattern} = re:compile("\\d{1,3}\.\\d{1,3}\.\\d{1,3}\.\\d{1,3}"),
re:run(Url, MatchPattern, [{capture, first, list}]).
{ok, MatchPattern} = re:compile("[^A-Za-z]"),
re:replace("abcd123 *ef% 456gh**ijklmn~~~", MatchPattern, "", [global, {return, list}]).
Content = "sdfsdfsdfLJDSLFJDSLFJDSL",
re:split(Content, "", [{return, list}])
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9