in reply to how can I use regular expresion if my string to be matched has round brackets

Don't forget to use a \ to escape out special characters when using regex.
#!/pw/prod/svr4/bin/perl use warnings; use strict; use Data::Dumper; my $ipn= qr/\( going \) there/; my $jpn="( going ) there"; if($jpn =~ m/$ipn/) { print "yes"; } else {print "nomatch";}
Lots of good regex info if you search around Perl Monks try Perlmonks Tutorial: Regular Expressions Tutorial, the Basics (for BEGINNERS)
I have also found http://www.regular-expressions.info/quickstart.html very helpful working with regex's. Lots of good examples.
I found tools like http://www.txt2re.com/ or Eclipses regex tool to be helpful in debugging my regex commands.
Good Luck.

-- Grey Fox
"We are grey. We stand between the darkness and the light" B5
  • Comment on Re: how can I use regular expresion if my string to be matched has round brackets
  • Download Code

Replies are listed 'Best First'.
Re^2: how can I use regular expresion if my string to be matched has round brackets
by lightoverhead (Pilgrim) on Oct 06, 2008 at 19:06 UTC
    why it works with
    my $ipn=qr/\( going \) there/; or my $ipn=qw/\( going \) there/;
    but it doesn't work with
    my $ipn="\( going \) there";
    Thanks.

      You need:

      my $ipn="\\( going \\) there";

      The \\ gets replaced by \ when the string is parsed.


      Perl reduces RSI - it saves typing