在re.search中使用OR运算符来处理python 3中的多个字符串

时间:2015-02-11 03:27:38

标签: regex search python-3.x

很抱歉,如果已经有人问这个,虽然我找不到它。我试图检测一个网站是否使用wordpress。这是示例代码。

url = input("Please enter the URL")
if 'http://' in url:
    append = url
else:
    append = 'http://' + url
r = requests.get(append + "/robots.txt")
    response = r.text
if re.search(('/wp-includes/') | ('/wp-admin/'), response):
    print("{0} --> Its Wordpress ".format(append))
    sys.exit(0)

它说|

中无法使用运算符
if re.search(('/wp-includes/') | ('/wp-admin/'), response): 

我如何搜索多个字符串,它们之间有OR?我也试过用'或'试过这个

if re.search('/wp-includes/' , '/wp-admin/'), response):

由于

2 个答案:

答案 0 :(得分:5)

正则表达式模式是单个字符串。

'(foo|bar)'

答案 1 :(得分:1)

  

我如何搜索多个字符串,它们之间有OR?

使用替换运算符|

if re.search(r'/wp-(?:admin|includes)/', response):