bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Regular expression matching fails with string RE


From: Greg Wooledge
Subject: Re: Regular expression matching fails with string RE
Date: Wed, 17 Oct 2012 08:27:03 -0400
User-agent: Mutt/1.4.2.3i

On Tue, Oct 16, 2012 at 02:18:40PM -0700, carson@taltos.org wrote:
> if [[ "foo1" =~ ".*([0-9])" ]]; then

As others have said, you must NOT quote the regular expression on the
right-hand side of the =~ operator.  If you quote it, it becomes a
plain string, overriding the =~ operator entirely.

The best approach is to place the RE into a shell variable:

re=".*([0-9])"
if [[ foo1 =~ $re ]]; then

This avoids many issues, including changes in bash's behavior in the 3.x
versions.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]