re:run("hello,\nw-6ren">
gpt4 book ai didi

regex - 带有 Erlang re 模块的多行正则表达式

转载 作者:行者123 更新时间:2023-12-01 09:34:00 26 4
gpt4 key购买 nike

无法让 Erlang 重新为多行工作,请帮忙!

> re:run("hello,\nworld", "o,.*w", [multiline]).
nomatch
> re:run("hello,\nworld", "o,.*w", [multiline, {newline, lf}]).
nomatch

> {ok, MP} = re:compile("o,.*w", [multiline]).
{ok,{re_pattern,0,0,
<<69,82,67,80,55,0,0,0,2,0,0,0,7,0,0,0,0,0,0,0,111,0,
119,...>>}}
> re:run("hello,\nworld", MP).
nomatch

> re:run("hello,\nworld", ",\nw").
{match,[{5,3}]}

最佳答案

multiline 选项只告诉正则表达式引擎将 ^ 不仅作为字符串的开始,而且作为新行的开始,它还告诉引擎不仅将 $ 视为字符串的结尾,而且将其视为一行的结尾。

试试这个:

re:run("hello,\nworld", "o,.*w", [dotall]) 

dotall 选项将告诉正则表达式引擎也让换行符与 DOT 元字符匹配。

关于regex - 带有 Erlang re 模块的多行正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1708885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com