=~ \a. matches an a followed by any char On Thu, Feb 17, 2011 at 4:35 PM, Clark J. Wang <dearv...@gmail.com> wrote:
> On Thu, Feb 17, 2011 at 9:20 PM, Andreas Schwab <sch...@linux-m68k.org > >wrote: > > > "Clark J. Wang" <dearv...@gmail.com> writes: > > > > > See following script output: > > > > > > bash-4.2# cat quoted-pattern.sh > > > [[ .a == \.a* ]] && echo 1 # not quoted > > > [[ aa =~ \.a* ]] && echo 2 # quoted > > > > > > [[ aa =~ \a. ]] && echo 3 # not quoted > > > [[ aa =~ \a\. ]] && echo 4 # quoted > > > bash-4.2# bash42 quoted-pattern.sh > > > 1 > > > 3 > > > bash-4.2# > > > > > > From my understanding 1 2 3 4 should all be printed out. > > > > "aa" contains no period, so why should it be matched? > > > > > If it should not be matched why I got 3 printed out? > > > > Andreas. > > > > -- > > Andreas Schwab, sch...@linux-m68k.org > > GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 > > "And now for something completely different." > > > > > > -- > Clark > == \.a* matches a dot followed by an "a" followed by 0 or more char =~ \.a* matches a dot followed by 0 or more "a" anywhere in a string =~ \a. matches an a followed by one char, whatever that char is anywhere in a string aa =~ \a\. matches an a followed by a dot anywhere on in string