У меня есть регулярное выражение следующим образом:
^/[a-z0-9]+$
Это соответствует строки, такие как /hello
или /hello123
.
Однако я хотел бы исключить пару строковых значений, таких как /ignoreme
и /ignoreme2
.
Я перепробовал несколько вариантов, но не могу заставить их работать!
Моя последняя слабая попытка была
^/(((?!ignoreme)|(?!ignoreme2))[a-z0-9])+$
Любая помощь будет с благодарностью :-)
Ответы:
Вот еще один способ (использование негативного прогнозирования ):
Примечание: Там только одно выражение захвата:
([a-z0-9]+)
.источник
(\?(.+))?$
должно быть быстро. Я бы не слишком беспокоился о скорости.java.util.regex.Pattern
класс Java .Это должно сделать это:
Вы можете добавить столько игнорируемых слов, сколько захотите, вот простая реализация PHP:
источник
Поскольку вы хотите исключить оба слова, вам нужна комбинация:
Теперь оба условия должны быть истинными (ни ignoreme, ни ignoreme2 не разрешены) для совпадения.
источник
/ignoremenot
как/
следуетignoreme
.