Perl:为什么这些不相同?

igb*_*tiz 2 regex perl

m/(?<=\n)(?=$pattern)/
Run Code Online (Sandbox Code Playgroud)

VS

m/(?<=\n)(?=^$pattern)/
Run Code Online (Sandbox Code Playgroud)

语义是我想匹配新行字符和模式之间的"空字符串".

然而,在Perl中,顶部的那个做我想要的而第二个没有.

有人可以用"^"元字符解释这里的错综复杂吗?

谢谢

yst*_*sth 7

^默认匹配字符串的开头; 如果你想匹配一行的开头,你需要使用/m标志或(?m:^).