Найти - Пользователи
Полная версия: RegExp operator AND
Начало » Python для новичков » RegExp operator AND
1 2
alexiy
py.user.next
нужен пример текста и слов, которые в нём надо найти

Сейчас это так выглядит:
r'(?=.*(?<![a-z0-9\/\.])[a-f0-9]{32}(?![a-z0-9\/\.]))(?=.*(md5|hash)(?![a-z0-9]))(?i)'
Как понимаю нагрузка из-за .* перед каждой половиной. Текст можно взять любой большего размера и почти сплошной (с минимумом пробелов)
bismigalis
мне не нравится что у тебя ассершены вложены и квантификаторы жадные
может так?
r"(?<=\b(md5|hash)\b.*?)\b[a-f0-9]{32}\b(?=.*?\b(md5|hash)\b)"
alexiy
bismigalis
мне не нравится что у тебя ассершены вложены и квантификаторы жадные
может так?

r"(?<=\b(md5|hash)\b.*?)\b{32}\b(?=.*?\b(md5|hash)\b)"

sre_constants.error: look-behind requires fixed-width pattern
py.user.next
alexiy
Сейчас это так выглядит:
это не пример текста

alexiy
Текст можно взять любой большего размера и почти сплошной (с минимумом пробелов)
и что в нём искать ?

сформулируй то, что ты пытаешься сделать
приведи конкретный текст и конкретные слова
alexiy
py.user.next
exiy
Сейчас это так выглядит:

это не пример текста

alexiy
Текст можно взять любой большего размера и почти сплошной (с минимумом пробелов)

и что в нём искать ?

сформулируй то, что ты пытаешься сделать
приведи конкретный текст и конкретные слова

Ребята.. чуть выше конкретный RegExp Конкретней уж некуда. Берём большой текст (любой) и ищем в нём хеш И слова md5|hash - именно какбы с оператором И. Конкретно ЭТОТ RegExp Очень медленно работает. Приблизительно в 50 раз медленней чем если искать каждое слово по отдельности поочереди.
bismigalis
r"(?:md5|hash)(?:.+?)([a-f0-9]{32})|([a-f0-9]{32})(?:.+?)(?:md5|hash)"
alexiy
bismigalis
r"(?:md5|hash)(?:.+?)({32})|({32})(?:.+?)(?:md5|hash)"

Хорошо.. этот вариант принимается для двух слов, первой половины вопроса. А если позже надо будет 3-4 слова одновременно искать в любой комбинации? Все 20 вариантов комбинаций прописывать неочень как-то
bismigalis
alexiy
Все 20 вариантов комбинаций прописывать неочень как-то
ну да, поэтому лучше ANDить в питоне :)
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