想知道这是否是在Python中使用Regex的正确方法。基本上,我希望能够使用正则表达式模式设置CORS标头。
我的URL字符串是
https://([a-zA-Z0-9-]+[.])*some.subdomain.com
在运行时此解析是否正确,是否可以在“ some”之前包含任何字母加破折号?
将正确设置标题吗?例如,当用户进入
https://e-g.some.subdomain.com
使用正则表达式模式设置的CORS标头是否允许该URL工作?
编辑:
经过研究,我是否需要使用'r'
SOME_URL = r'https://([a-zA-Z0-9-]+[.])*some.subdomain.com'
答案 0 :(得分:0)
头和尾几乎是恒定的,因此可以将它们匹配为简单的字符串。
import sys
import re
pattern = re.compile("https://[a-zA-Z0-9-]+\.some.subdomain.com")
del(sys.argv[0]) # remove the exename
for url in sys.argv:
print("URL: [" + url + "] -> "+ str(pattern.match(url) != None))
哪个给予:
$ python py_regex.py https://blah.some.subdomain.com https://w#e.some.subdomain.com https://e-g.some.subdomain.com https://another-domain.com
URL: [https://blah.some.subdomain.com] -> True
URL: [https://w#e.some.subdomain.com] -> False
URL: [https://e-g.some.subdomain.com] -> True
URL: [https://another-domain.com] -> False