У меня есть следующее:
rule = "http://www.abc.com/"
test = "http://www.abc.com/test"
print(str(re.compile(rule).match(test)))
Я хочу, чтобы это выводило None, но вместо этого оно возвращает совпадение. Как изменить переменную правила, чтобы регулярное выражение не возвращало None?
Символ ^
соответствует началу строки, а $
соответствует концу строки. Поэтому вам нужно:
rule = "^http://www\.abc\.com/$"
test = "http://www.abc.com/test"
print(str(re.compile(rule).match(test)))
Обратите внимание, что .
означает "соответствовать любому символу", поэтому, если вы хотите совпадение с фактическим .
вам нужно \
перед этим.
Я не думаю, что вам нужно regexp здесь, если вы хотите сравнить полные строки. Пожалуйста, поправьте меня, если я вас неправильно пойму. :)
Возможно, этот код будет устным:
rule = "http://www.abc.com/"
test = "http://www.abc.com/test"
print(rule == test)
Возвращает False
если строки различны, True
противном случае.
"http://www3abc3com/"
может"http://www3abc3com/"
что-то вроде"http://www3abc3com/"
. По крайней мере, я так думаю ... Хотя я могу ошибаться. Но попробуйте проверить это.^
и$
и избегайте точек