perl: reg.expr: combine starting and ending removal in one exprecion
Hello,
I am new in perl and in regular exprecion; so I am looking for help (or an experienced advise.)
The target is a triming spaces from a string: i.e., remove spases from begining and from end of a string.
One of main point of a searched solution is performance: for current task it is very important.
Therefore simple loop character by character seems to me ineffective.
I guess the reg.exp. engine should be pretty sufficient.
So, I've come out with:
This works fine,but,
first of all: I could not combine both patern into one exprecion.
Would you suggest how it could be done?
second: What about time? What expected to be longer : one more complicated regexp or twice, but simple? Who know how that task is processed inside of perl?
And last question: is there simpler way to do such simple task in perl?
KevinADC
Very BIG thank you!!
So much appreciate so informative and complete answer!!!
For sure I own you at least beer!
You have showed many different way to do this with reg.exp., plus you discovered for me the Benchmark!!!
Very appreciate!!
You are right: double \s+ is most efficient!
(It is strange that the '|' - 'or' in reg exp. does not work in debugin. But in a sub it works! In 'perl -d -e 0' :
Once again: THANK YOU!
Last edited by alex_5161; 08-27-2009 at 12:59 PM..
im trying to search for a WORD in a file which
begins with a number
followed by a hypen
follwed multiple words
and end with a dot "."
and pront the entire line which matches the above.
Please note that there is a space at the begining of each line
i/p file
19458 00000-CONTROL-PARA.... (5 Replies)
Hello,
Here is my text data excerpted from the webpage:
input
My target is to get:
What i tried is:
sed 's/.*\(connector\)/1/' input > output
but all characters coming before the word "connector" are deleted which is not good for me.
My question: (9 Replies)
Hi all,
I need to do scrip for printing starting and ending numbers along with count in given file.:wall:
Input: a.txt
10000030
10000029
10000028
10000027
10000026
10000024
10000023
10000021
10000018
10000018
10000017
10000016
10000015
10000014 (2 Replies)
I am trying to check if files staring with filename but ending with diffent dates e.g. filename.2011-10-25.
The code I am using is below
if
It works find only if one file is present but returns binary operator expected
when there are mulptiple files.
Please help me correcting it. I... (5 Replies)
Hi All,
I need your input on how to mask out / ignore a string that does not match a working regular expression (continually refining) pattern in Java. Below is the code snippet which is picking up all the lines with the correct regular expression string except one known so far:
public... (0 Replies)
Hi all,
I want to cut a column which match the regular expression "beta", if I don't know the column number?
cat test
alpha;beta;gamma
11;22;33
44;55;66
77;88;99
should be
command ....
beta
22
55 (6 Replies)
Hi there!
I'm trying to validate a simple 6 digits number with reg expr. I ONLY want 6 digits so when i type 7 digits the script should no validate the number.
I've write this code:
#!/usr/bin/perl
while(<STDIN>){
if($_=~/\d{6}/){
print "Bingo!\n";
... (2 Replies)
Hello!
I've got txt-file containing lots of data in sentences like this:
;;BA;00:00:03:00;COM;CLOQUET-LAFOLLYE;SIMON;
but sometime more than on in a line like this:
;;BA;00:00:03:00;COM;CLOQUET-LAFOLLYE;SIMON;;;BA;00:00:03:00;REA;RTL9;;;;BAC;:00;TIT;SEMAINE SPECIALE ~SSLOGAN~T DVD;;
... (3 Replies)
In a shell script, how I can achieve substitution of shell script var to a regular
expression, as shown below.
var=`head -1 file1`
awk '$0!~/$var/ {print $0}' file1 > file2
In the case above $var value literally considered for non-exists criteria. (3 Replies)