Найти - Пользователи
Полная версия: Проблема с регулярным выражением. Как исключить слово?
Начало » Python для новичков » Проблема с регулярным выражением. Как исключить слово?
1
MikaMika
Привет.
Простая функция проверяющая совпадение с шаблоном.
Шаблон задан регулярным выражением.
import re
def active_link(path, pattern):
    if re.search(pattern, path):
        print('OK')
    else:
        print('NO')
active_link(request.path  '/super|/super/[\w]+)

Как можно исправить регулярное выражение, что бы нельзя было ввести:
/super/search
Можно просто /super, можно любые символы, которые относятся к \w после /super/, но нельзя слово - “search”.
active_link(request.path  '/super|/super/[\w]+ ??? Что нужно здесь исправить?)
py.user.next
>>> import re
>>> 
>>> def active_link(path, pattern):
...     if re.search(pattern, path):
...         print('OK')
...     else:
...         print('NO')
... 
>>> active_link('/super/search', r'^(/super|/super/(?!search)\w+)$')
NO
>>> active_link('/super', r'^(/super|/super/(?!search)\w+)$')
OK
>>> active_link('/super/a', r'^(/super|/super/(?!search)\w+)$')
OK
>>>
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