错过了perl正则表达式中的最后一个字符

时间:2015-08-17 14:49:59

标签: perl

(日志狗狗)(日志需要)

^\(log (.*)[^)]\)\s*\(log (.*)[^)]\)$

它适用于最后缺少字符的例外" s"为:

小狗 需要

3 个答案:

答案 0 :(得分:0)

public int id { get; set; }
[Display(Name = "Agent ID")]

您无需否定^\(log (.*)\)\s*\(log (.*)\)$

答案 1 :(得分:0)

[^)]吃掉了s - es。你为什么需要它?

my $s = '(log doggies) (log needs)';
say for $s =~ /^\(log (.*)\)\s*\(log (.*)\)$/;

输出:

doggies
needs

答案 2 :(得分:0)

您的.*看起来应该是[^)]*,即*任意数量的字符都没有关闭括号。给

^\(log ([^)]*)\)\s*\(log ([^)]*)\)$

或者您可以使用

获取(log xxx)的所有实例
while ( $s =~ /\(log ([^)]*)\)/g ) {
    print $1, "\n";
}