Найти - Пользователи
Полная версия: txt to regexp
Начало » Флейм » txt to regexp
1
crchemist
шукаю за якоюсь бібліотекою яка за набором стрічок могла б зробити загальний шаблон регулярного виразу. наприклад зі стрічок ‘123ffff45’ та ‘123a45’ видала щось типу '123+?45' . І може хтось підкине ідею як таку штуку самому можна написати.
poltergeist
:lol:
crchemist
ніби те що я хотів http://www.michael-noll.com/wiki/Python-Levenshtein + трішки дописати треба
Ferroman
Я, до кінця не зрозумів що ти хотів. Щоб заміняло змінні частини в строках регекспом, залишаючи тільки константні? То проста задача. Зробити універсальний регексп для n-ї кількості стрічок? Задача складніша, неоднозначніша, і я тоді не розумію мети. Я завжди використовував регулярки для аналізу тексту, але не аналіз тексту - для побудови регулярок…
regall
Справді не зрозуміла мета задачі, можна пояснити, можливо її взагалі не потрібно вирішувати ? ;)

P.S.
І це, мені здається, тема не для флейму =)
crchemist
Ferroman
Зробити універсальний регексп для n-ї кількості стрічок?
Ага. Такий собі автомат. Є така програмка для kde - Kompare. вона показує які символи в стрічці відрізняються. Левенштейн ніби теж так вміє (ще не пробував). (Є стандартна бібліотека difflib але в ній я не знайшов як дивитись які символи відрізняються) І в принципі все просто - якщо знаю в яких місцях відрізняються символи і знаю які саме символи то можна для них генерувати якийсь регексп. В прикладі з ‘123ffff45’ та ‘123a45’ левенштейн мав би видати ffff і a. Лишається написати якийсь словник і функцію яка буде розділяти на класи. тобто для ffff і a мінімальний клас в який вони двоє входять буде + . Якщоб була цифра в якійсь зі стрічок - мінімальний клас був би + і так далі.

regall
І це, мені здається, тема не для флейму
Я кинув в флейм так як в принципі тема до пітону нічого спільного немає. Мені і на С може бути. Взагалі сподівався що хтось кине лінк на готову бібліотеку на будь-якій мові.
crchemist
Ferroman
. Я завжди використовував регулярки для аналізу тексту, але не аналіз тексту - для побудови регулярок…
Ну я теж) але я не бачу проблем щоб не можна було робити навпаки.
crchemist
знайшов цікавий сайт http://txt2re.com. Ось приклад для 123fff45 - http://txt2re.com/index-python.php3?s=123fff45&4
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB