regex
    
kuno
    
    
      
    
  - perl
- 0 Peter
- 0 Siechfred
- 1 Beat
- 0  Patrick Andrieu Patrick Andrieu- 0  Struppi Struppi
 
 nicht angemeldet
 nicht angemeldet Patrick Andrieu
 Patrick Andrieu
    
    
   Struppi
 Struppi
    
    
  ich brauche hilfe bei einem regex, der wahr ergeben soll, wenn ein string mindestens eine zahl und mindestens einen buchstaben ergibt.
also quasi sowas wie /\d+?\w+?/
Allerdings gibt das beispiel schon wahr, wenn der string eines von beiden enthält. Wenn ich es aber klammere, dann müssen zahl und buchstabe unmittelbar hintereinander vorkommen.
ich brauche hilfe bei einem regex, der wahr ergeben soll, wenn ein string mindestens eine zahl und mindestens einen buchstaben ergibt.
also quasi sowas wie /\d+?\w+?/
Allerdings gibt das beispiel schon wahr, wenn der string eines von beiden enthält. Wenn ich es aber klammere, dann müssen zahl und buchstabe unmittelbar hintereinander vorkommen.
»»
ich brauche hilfe bei einem regex, der wahr ergeben soll, wenn ein string mindestens eine zahl und mindestens einen buchstaben ergibt.
Ungetestet:
/\d.*?\w|\w.*?\d/
Siechfred
Ungetestet:
/\d.*?\w|\w.*?\d/
\w = [A-Za-z0-9]
Hallo Beat!
\w = [A-Za-z0-9]
und der Unterstrich?
http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichen
Viele Grüße aus Frankfurt/Main,
Patrick

und der Unterstrich?
Ich bin froh, dass ich nicht perfekt sind. :))))
mfg Beat
\w = [A-Za-z0-9]
Jaja, das "aus der Hüfte schießen" sollte man dann doch besser John Wayne überlassen ;)
Siechfred
also quasi sowas wie /\d+?\w+?/
if( $string =~ /[0-9]/ and $string =~ /[A-Za-z]/ ){ ... ;}
Definiere 'Buchstabe'
\w ist je nach locale abhängig und beinhaltet [0-9]
Hallo kuno!
ich brauche hilfe bei einem regex, der wahr ergeben soll, wenn ein string mindestens eine zahl und mindestens einen buchstaben ergibt.
In Anlehnung an Deinem Doppelposting weiter oben:
my @strings = qw(aha23 23aga R2D2 015\012);  
checkit(@strings);  
sub checkit {  
  my @strings = @_;  
  for (@strings) {  
    print "WAHR für $_\n" if $_ =~  /(\d+?[a-z]+?|[a-z]+?\d+?)/i;  
  }  
}
Ist vielleicht nicht die eleganteste Methode, tut's aber:
WAHR für aha23
WAHR für 23aga
WAHR für R2D2
Der vierte String enthält keinen Buchstaben -> unwahr.
Viele Grüße aus Frankfurt/Main,
Patrick
