It could be a good idea to split the big regex.
A good example: if you want to match lines with the words 'red' and 'dog'.
The first idea is often to write something like: $line =~ /red.*dog|dog.*red/
but there is a better way: $line=~/dog/ and $line=~/red/
So, it's probably better to treat each exclusion with one regex: next if /regex/;
while (my $line = <DATA>) { next if $line =~ /^ERROR.*?Error processing Cancel Execution/; next if $line =~ /ERROR.*?license will expire/; print "Do something with the line: $line"; } __DATA__ ERROR 2012-04-02 05:00:18 Error processing Cancel Execution '2012-CSNY +1CMR-1-20120402-1247 52938803o122h090000507' with LHDRSeqId 'CSNY1CMR +1-1333315812780-2759'. [2012-04-02 07:04:27,275][ERROR][101574:Company:japan][analytics.bond. +BondAlibImpl] ALIB license will expire in29 days. Please upgrade lice +nse file under /app/license 2012-04-02 05:00:18,810[ERROR] limitCheck: error while checking instru +ction xxx.core.biz.order.instruction.EquityOrderSubmitInstruction(tsI +d=20120402-090237887-340-509,order=20120402-090237880-767-508:TS)
In reply to Re^3: Regex: negative look ahead
by brx
in thread Regex: negative look ahead
by fcaw1
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |