Preg_match-ben hogyan tudok szűrőt írni a példában megadott intervallumra?
Adott egy string: [00:01:49] Itt még szöveg van
Az elején zárójelben olvasható számok időpontot jelölnek óra:perc:másodperc. Erre kellene nekem egy szűrő, hogy pl 19:00:00-21:00:00 időpontokat szűrjem csak ki.
Eddig ha egy megadott időponttól akartam szűrni és nem volt megadva meddig szűrjön akkor ezt a kifejezést használtam: \[17:38.* eszerint 17 óra 38 perccel egyező stringet keresett.
Várom az ötleteket, előre is köszi :D
Próbálkozz valami ilyesmivel:
\[(19|20|21):00:00
Ha a 19:00:00-21:00:00-ig terjedő időszakot akarod mindenképpen szűrni, és feltétezzük ebből, hogy a perc, másodperc mindig két számjegyből áll, valamint az idöpont mindig szögletes zárójelben van, akkor:
Egyrészt látni kell, hogy a 19 és 20 óra esetén bármilyen perc, másodperc megfelelő kell, hogy legyen. 21 óra esetén viszont csak a 00:00 felel meg.
Így a reg. kif. a következő lesz:
/[((19|20):[0-5][0-9]:[0-5][0-9]|21:00:00)]/
Itt ugye két vagylagos kifejezés van:
(19|20):[0-5][0-9]:[0-5][0-9]
vagy
21:00:00
Az előbbi áll órából…: (19|20)
(Tehát vagy 19 vagy 20.)
… és áll percből és másodpercből: [0-5][0-9]
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!