任何人都可以帮我解决这个正则表达式吗?我需要一个表达式来匹配最后不包含“Created”字符串的行。该脚本用于阅读某些源代码的标题。
$string = "* JAN-01-2001 bugsbunny 1234 Created Module";
#$string = "* DEC-12-2012 bugsbunny 5678 Modified Module";
if($string =~ /^\*\s+(\w\w\w-\d\d-\d\d\d\d)\s+(\w+)\s+(\d+)\s+(?!Created)/){
print "$1\n$2\n$3\n$4\n";
} else {
print "no match\n";
}
使用第一个 $string 定义时,我需要匹配失败,因为它的末尾有单词“Created”。当使用第二个 $string 定义时,它应该通过,我需要提取日期($1)、用户($2)、更改编号($3)和描述($4)。
上面的表达式不起作用。请问有什么建议吗?