in reply to Re: regular expression to check if the textbox contains only special characters
in thread regular expression to check if the textbox contains only special characters

I'm not sure whether the OP wants *.*,*;A to pass. I'd use
chomp; print /[^A-Z_,]/ ? 'bad' : 'good'

Or, if the format is important, too:

print /^(?:[A-Z_]+,?)+(?<!,)$/ ? 'good' : 'bad';

i.e. at least one uppercase letter or underscore, followed by a comma, this repeating several times, and no trailing comma.

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

Replies are listed 'Best First'.
Re^3: regular expression to check if the textbox contains only special characters
by Anonymous Monk on Oct 18, 2016 at 09:54 UTC
     print /^(?:[A-Z_]+,?)+(?<!,)$/ ? 'good' : 'bad';

    Hi I tried your suggestion as below

    while (<DATA>) { if (/^(?:[A-Z_]+,?)+(?<!,)$/) {print "good";} else {print "bad";} print; }
    __DATA__ * *,* *.* ABC ABC* *ABC ABC_TO ABC_TO,DEF,GHI_JKL,GHI_JK1_TO

    Good string format are ABC,ABC_TO and ABC_TO,DEF,GHI_JKL,GHI_JK1_TO but somehow I am getting this as BAD ABC_TO,DEF,GHI_JKL,GHI_JK1_TO

      The digit 1 doesn't belong between A and Z:

      ABC_TO,DEF,GHI_JKL,GHI_JK1_TO ~

      ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
      Hi choroba

      Understood this and solved the situation for me.

       print /^(?:[A-Z_]+,?)+(?<!,)$/ ? 'good' : 'bad';

      should be modified as

       print /^(?:[A-Z_0-9]+,?)+(?<!,)$/ ? 'good' : 'bad';

      Lookahead and Lookbehind concepts is intresting. Thank you very much.