我有一个使用regexp:sh_to_awk
和regexp:match
的模块。
但是当我编译它时,编译器警告我已从R15中删除了regexp
模块并建议我使用re
模块。
我搜索了erlang文档,但是我找不到如何替换这两个函数。
有谁能告诉我如何解决这个问题?
答案 0 :(得分:2)
实际上,regexp
模块已被弃用了一段时间,现在已被删除,取而代之的是re模块。
旧的 regexp:match 函数已被re:run
函数取代,这些函数添加了许多功能,例如将捕获的部分作为列表或二进制文件返回(旧的返回方式)起始位置和长度也保持不变):
> re:run("Test String","[a-zA-Z]{4}",[{capture,all,list},global]).
{match,[["Test"],["Stri"]]}
阅读re:run/3
文档,这是值得的,就像re
模块的所有其他功能一样(例如compile
和replace
)。
正则表达式:sh_to_awk 已被删除。您可以使用filelib:wildcard
函数来匹配文件名,如果这是您对旧regexp:sh_to_awk/1
函数的预期用途。