webForumDet fria alternativet

regExp

4 svar · 476 visningar · startad av martinpartin

martinpartinMedlem sedan jan. 2001371 inlägg
#1

Hej!

Är helt ny på regexp men tror att jag kommer behöve det för min applikation...

Har en sträng som kan se ut som "oasijd oiajsd jaosijd djjjjj 2008-05-20 asdfj"

Skulle vilja hitta datum(en) i strängen och byta ut dessa mot ett konverterat datum. Någon som har en ide om hur skulle kunna gå tillväga ?

voigtann1Medlem sedan juni 20018 810 inlägg
#2

bara tal*4-tal*2-tal*2? eller den skall verkligen kolla att det inte är över en x antal tal eller?

\b(19|20)?[0-9]{2}[- /.](0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])\b

borde nog göra det du är ute efter?

martinpartinMedlem sedan jan. 2001371 inlägg
#3

tack

tack för informationen... vad menar du att den ska kolla över x antal ?

Jag pulade lite här och lyckades få fram vad jag ville ser det ut som

.replace(/([0-9]{4})-([0-9]{2})-([0-9]{2})/g, "$3-$2-$1");

tack iaf !

voigtann1Medlem sedan juni 20018 810 inlägg
#4

Din replace ersätter ju din text med... exakt samma text. Du vill nog hellre plocka ut som grupp stället.

+ Nu kan du skriver 0000-00-00 vilket inte är ett datum ;)

martinpartinMedlem sedan jan. 2001371 inlägg
#5

tack för info... japp du har rätt. Men systemet som ger mig strängarna innehåller bara datum.... inte 0000-00-00, Men ska lägga in det du föreslog !

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb