programot keresek: reverse regexp

Fórumok

Sziasztok!

Egy olyan programra lenne szükségem, aminek ha megadok egy reguláris kifejezést, és cserébe a szoftver kiadja az összes rá illeszkedő stringet (mondjuk adott hosszúságig)

A konkrét feladat egyébként abból állna, hogy találtam pár igen régi, jelszóval védett pdf fájlt, amelyeknek csak körülbelül emlékszem a jelszavára, és ezt a körülbelüliséget reguláris kifejezéssel remekül le tudnám írni.
Pdfcrack-kel próbálkozom jelenleg, de rendes wordlist nélkül csak brute force-olni tudok a teljes kulcstéren belül, ami 18 karakter, a jelszó hossza pedig 9,11,12,13 vagy 14 karakter hosszú. Ez így nem tűnik túl gyors megoldásnak, mivel másodpercenként csak cca 23k jelszót tudok végigpróbálgatni. Mivel ez 396857630598547968 jelszót jelentene, gyakorlatilag a szótárfájl az egyetlen épeszű megoldás (B verzió elővakarni a három éves jegyzeteim közül a papírt, amin rajta van a jelszó)

Hozzászólások

az aktuális probléma annyiban megoldódott, hogy táblázatkezelő függvényekkel előállítottam a listákat. Annyiból nem, hogy a jelszóra nem tudtam így se rájönni :-/

" aminek ha megadok egy reguláris kifejezést, és cserébe a szoftver kiadja az összes rá illeszkedő stringet"

Hát, ez így első közelítésben a grep lesz, de felteszem valahol lennie kell egy sunyi peremfeltételnek, mert erre magadtól is rájöttél volna. :-)

---
Science for fun...

Így van :) A grepet ismerem, viszont én most nem sorokra szeretnék szűrni, hanem azt szeretném, hogy ha megadom, hogy /a[ab]{2}a/ akkor kiadja hogy "aaaa, aaba, abaa, abba", mindennemű egyéb fájl megadása nélkül.

Tudom, hogy vannak kifejezések, amelyekre végtelen sok string illeszkedik, de mivel egy véges lista előállítása a célom, most éppen nem ilyeneket szeretnék tesztelni :)

—-—-—
int getRandomNumber() {
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

Köszönöm a választ, kb. ilyenre gondoltam, csak nem volt ötletem, hogy hogy kell rákeresni.
A szótárfájl-generálásra pont megfelelő, bár mint lentebb említettem, végül alternatív módon korábban elkészítettem a szótárfájlt, eredménytelenül.

—-—-—
int getRandomNumber() {
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd