首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(?s) y (?m) en powergrep的等效值是多少?

(?s) y (?m) en powergrep的等效值是多少?
EN

Stack Overflow用户
提问于 2014-04-16 10:43:16
回答 2查看 112关注 0票数 0

在使用powergrep时,有一个名为: file sectioning的选项,前3个选项是:

  • 不要分区文件。
  • 逐行
  • 逐行,包括行中断

我猜想第一个选项将类似于Perl的'm‘修饰符("^“匹配字符串的开头和每个换行符之后;"$”匹配在每个换行符之前和字符串的末尾),选项Dot匹配新行,就像使用了Perl的’修饰符(“)一样。匹配所有字符,而不排除换行符)。

我不明白以下两种选择。可以逐行打开复选框,点匹配新行。并且逐行包含行中断将再次成为(?s)修饰符,所以我不理解这些选项。

谁能解释一下这些选择吗?以及与s和m修饰符的关系。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-16 13:57:03

我不知道powergrep,但听起来他们控制的是你匹配的东西。

  • “不要区段文件”与整个文件匹配。 我的$file = do {局部$/;<$fh> };$file =~ /./;
  • “逐行包括断行”匹配每一行。 同时(我的$line = <$fh>) { $line =~ /./;}
  • “逐行”匹配每一行,咬紧牙关。 while (<$fh>) { chomp( my $chomped_line = $_ );$chomped_line =~ /./;}

毫无疑问,"Dot匹配新行“等同于s修饰符。

票数 1
EN

Stack Overflow用户

发布于 2014-04-16 10:48:31

要打开点匹配一个正则表达式的换行符,将(?s)放在它前面。 (?n)或-line支持Tcl所称的“新行敏感匹配”。点和负字符类将不匹配换行符。插入符号和美元将在换行符前后匹配。指定(?n)或-line与指定(Pw)或-linestop -lineanchor相同。 (?m)是(?n)的历史同义词。

http://www.regular-expressions.info/tcl.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23107153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档