Solved

parrent matching

Posted on 2001-08-20
5
154 Views
Last Modified: 2006-11-17
I want to substitude the string

"string/another string/more string/WORLD/more string" to
"http://www.com/WORLD"

the only I know is that WORLD is placed
between 3-rd and 4-th slashes "/"

Thanks
0
Comment
Question by:kako
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 3

Expert Comment

by:interiot
ID: 6407121
I don't quite understand your question, but here's a guess.

    $str1 = "string/another string/more string/WORLD/more string";
    $str2 = "http://www.com/" . (split '/', $str1)[3];

    print "$str2\n";
0
 

Author Comment

by:kako
ID: 6407148
Yes, It will work, But I want to do the same
with the substitution command s///;
using pattern matching, I think there should be the
way to do so.
0
 
LVL 3

Expert Comment

by:interiot
ID: 6407223
Ahh.  Well, pure s///s would be slow, because it uses backreferences, but anyway:

    $str1 =~ s|(?:[^/]*/){3}([^/]*).*|http://www.com/$1|;

And this is faster, and more readable:

    $str1 =~ s|([^/]*/){3}||;
    $str1 =~ s|/.*||;
    $str1 = "http://www.com/$str1";
0
 

Author Comment

by:kako
ID: 6407226
Yes, It will work, But I want to do the same
with the substitution command s///;
using pattern matching, I think there should be the
way to do so.
0
 
LVL 3

Accepted Solution

by:
interiot earned 50 total points
ID: 6407321
s||| is the same as s///, so is the aforementioned line an acceptable solution?

    $str1 =~ s|(?:[^/]*/){3}([^/]*).*|http://www.com/$1|;
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I've just discovered very important differences between Windows an Unix formats in Perl,at least 5.xx.. MOST IMPORTANT: Use Unix file format while saving Your script. otherwise it will have ^M s or smth likely weird in the EOL, Then DO NOT use m…
A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (http://www.mongodb.org/downloads),  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question