Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Remove blank lines from REGEX output

by Kenosis (Priest)
on Feb 05, 2014 at 20:40 UTC ( [id://1073603]=note: print w/replies, xml ) Need Help??


in reply to Remove blank lines from REGEX output

If I'm understanding the specs in a comment and your regex, perhaps the following will be helpful:

use strict; use warnings; # Remove (exclude) lines beginning with "bl", "BL" or "_" and releases + with a label with xx.yy.zzz.nnn(n) while (<DATA>) { print unless /^(?:bl|_)|\.\d{3}\.\d{3,}$/i; } __DATA__ _STUDYABCD1234_1.00 _STUDYABCD1234_1.00.5678 STUDYABCD1234_1.00 STUDYABCD1234_1.00.000 p_STUDYABCD1234_1.00.000 p_STUDYABCD1234_1.00.000.5678 bl_STUDYABCD1234_1.00.000 bl_STUDYABCD1234_1.00.000.5678 BL_STUDYABCD1234_1.00.000 BL_STUDYABCD1234_1.00.000.5678

Output:

STUDYABCD1234_1.00 STUDYABCD1234_1.00.000 p_STUDYABCD1234_1.00.000

The regex:

/^(?:bl|_)|\.\d{3}\.\d{3,}$/i ^ ^ ^ ^ ^ ^ ^ ^ ^ | | | | | | | | | | | | | | | | | + - Case-insensitive | | | | | | | + - From the end of the string | | | | | | + - Three or more digits | | | | | + - A decimal point | | | | + - Three digits | | | + - A decimal point | | + - OR | + - Match either "bl" or "_" + - From the beginning of the string

The script just skips (excludes) those lines that you don't want, instead of making them blank.

Replies are listed 'Best First'.
Re^2: Remove blank lines from REGEX output
by Deep_Plaid (Acolyte) on Feb 05, 2014 at 21:08 UTC

    Thanks for your fast and thoughtful reply, Kenosis. I really appreciate the way you broke down the regex line with an explanation - it was very helpful. I've added this code and it's working. I'm still not quite sure why my original attempts didn't work - I couldn't get them to work without .*, thinking I needed a wildcard to account for the rest of the string, but it makes sense that this approach was leaving in /n. Thanks again.

      You're most welcome, Deep_Plaid! Am glad it worked for you.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1073603]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2024-04-20 02:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found