zZz rašė: > Norėjau mėnesių / dienų intervalais. Kažkada rašiau vieną tokį gremėzdą, > ir galvojau, gal kas panašiai ir asmens kodams rašė. Bet pažiūrėjau tavo > variantą, ir pagalvojau, kad gal per daug noriu. Tai intervalai pas mane (antrame variante). Mėnesių skiltyje tik skaičiai 01-12, dienų: 01-31. Bet datos realumą vis tiek reikia patikrinti, kaip ir neišvengiamai apskaičiuoti kontrolinį skaičių. O tai reiškia, kad bet kokiu atveju reikės naudotis programavimo kalba ir tada sudėtingesnius dalykus ir tikslingiau ir paprasčiau daryti programoje, o ne regexp'e. KISS. Juk paprasta ir aišku: <...> if ak_match_regexp(src) { // named capture kintamieji arba $1 - $6 return is_valid_ak(lytis, metai, mėnuo, diena, seqno, ctlno) } <...> function is_valid_ak(lytis, metai, mėnuo, diena, seqno, ctlno) { data = get_date(lytis, metai, mėnuo, diena) return is_valid_date(data) and check_ctl_sum(lytis, metai, mėnuo, diena, seqno, ctlno) }