Ich habe es versucht:
/^([0-3][0-9])-(A-Za-z)-([0-1][0-9])?$/
und habe keinen Erfolg. Was mache ich falsch?
Vielen Dank, Leute!
Ich habe es versucht:
/^([0-3][0-9])-(A-Za-z)-([0-1][0-9])?$/
und habe keinen Erfolg. Was mache ich falsch?
Vielen Dank, Leute!
Um es pedantisch auszudrücken: Dieser reguläre Ausdruck passt zu ihm: 22-NOV-09
.
Wenn Sie stattdessen überprüfen wollen, ob eine gegebene Zeichenkette ein gültiges Datum in einem bestimmten Format ist, dann würde ich empfehlen, etwas zu verwenden wie strptime
. Zum Beispiel:
#define _XOPEN_SOURCE
#include <time.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
struct tm tm;
char *p;
p = strptime(argv[1], "%d-%b-%y", &tm);
if (p && *p == '\0') {
printf("Matches\n");
return 0;
}
else {
printf("Didn't match\n");
return 1;
}
}
Python hat datetime.datetime.strptime
und Perl hat POSIX::strptime
. Ich bin mir sicher, dass die meisten anderen Sprachen ebenfalls über diese Funktion verfügen.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.