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 | |
by Kenosis (Priest) on Feb 05, 2014 at 21:16 UTC |