正则表达式验证网址?

时间:2016-07-22 15:20:19

标签: python regex

任何人都可以帮助正则表达式吗? 我有一个像

这样的网址
"http://example.com/ru/path/?id=1234&var=abcd"

我喜欢断言检查网址是否有结构:

"http://example.com/ru/path/?id={id value}&var={var value}"

3 个答案:

答案 0 :(得分:3)

当然,正则表达式是矫枉过正的。如果它可重复使用,你可以使用:

url="http://example.com/ru/path/?id=1234&var=abcd"
if url.split('?')[1].startswith('id=') and url.split('&')[1].startswith('var='):
    print "yay!"

答案 1 :(得分:1)

import re
s="http://example.com/ru/path/?id=1234&var=abcd"
pattern = r'http:\/\/example.com\/ru\/path\/\?id=\d+&var=\w+'
res = re.findall(patten,s)
if res:
   print "yes:

答案 2 :(得分:1)

不需要正则表达式,但使用正则表达式只需检查是否有数字(\d+)和var([A-z]+

import re
p = re.compile('http://example.com/ru/path/\?id=\d+&var=[A-z]+')

check=p.match("http://example.com/ru/path/?id=1234&var=abcd")

if check:
    print 'match'
else:
    print 'does not match'