shijiang1130 发表于 2014-10-26 23:48

re:replace 替换dot

本帖最后由 shijiang1130 于 2014-10-26 23:49 编辑

9> re:replace("1.3.6.1.4.1.9.9.543",".","\,",).
",,,,,,,,,,,,,,,,,,,"
10> re:replace("1.3.6.1.4.1.9.9.543","\.","\\,",).
",,,,,,,,,,,,,,,,,,,"
11> re:replace("1.3.6.1.4.1.9.9.543","\\.","\\,",).
"1,3,6,1,4,1,9,9,543"
12> re:replace("1.3.6.1.4.1.9.9.543",".",",",).   
",,,,,,,,,,,,,,,,,,,"
13> re:replace("1.3.6.1.4.1.9.9.543","\.","\,",).
",,,,,,,,,,,,,,,,,,,"
14>

shijiang1130 发表于 2014-12-26 23:23

{match,Ip}=re:run(Body,"alert\">(.*)</tbody>",[{capture,,list},global,dotall,ungreedy]),

会当凌绝顶聪 发表于 2015-05-29 13:55

re:run 能详解一下吗。。。。。

会当凌绝顶聪 发表于 2015-05-29 14:07

re:run/3

根据正则表达式去匹配数据并返回匹配结果

用法:
1
       
run( Subject , RE , Options ) -> {match, Captured } | match | nomatch

执行一个正则匹配,匹配成功则返回 {match, Captured},否则返回一个 nomatch 的原子。参数 RE 可以是正则字符串,也可以是用 re:compile/1 或 re:compile/2 预编译过的正则匹配指令。参数 Options 是一个匹配选项参数。

如果编译正则表达式时发生了异常错误,只会返回一个 badarg 的提示,错误的详细定位信息可以通过 re:compile/2 方法来查看

缺省第三个参数的情况下,返回的 Captured 值会包含匹配结果的开始的位置和匹配结果的长度,例如下面返回的是 [{2,1}],表示匹配结果在第 2 个字符后出现,匹配结果值的长度是 1。
1
       
re:run ( "just a test!" , "s" ).
{match,[{2,1}]}

添加一个 global 参数,把所有匹配结果的匹配出来
1
       
re:run ( "just a test!" , "s" , ).
{match,[[{2,1}],[{9,1}]]}

把第一个匹配结果以字符串的形式截取下来
1
       
re:run ( "just a test!" , "s" , [{capture, first, list}]).
{match,["s"]}

把所有结果截取下来,并以字符串的形式返回
1
       
re:run ( "just a test!" , "s" , ).
{match,[["s"],["s"]]}

字符串里是否存在某个字符:
1
       
re:run ( "abc'defg" , "j|k|'|m" , [{capture, none}]).
match

一些常用例子:

匹配 IP:
1
       
re:run ( "HostName                  107.170.96.117" , "(\\d{1,3}){3} \\. \\d{1,3}" , [{capture, first, list}]).
{match,["107.170.96.117"]}
页: [1]
查看完整版本: re:replace 替换dot