Python:检查字符串是否遵循维基百科链接格式

时间:2015-07-24 08:40:01

标签: python

如果我有一个名为link的字符串,我将如何检查它是否遵循与维基百科URL相同的格式?为了澄清,维基百科URL(在本例中)始终以en.wikipedia.org/wiki/开头 它们可以有任何字符(包括/ wiki之后的#符号和撇号以及空格用下划线表示。另外,它们可以在括号中有一个单词,例如:en.wikipedia.org/wiki/Sesame_Street(Elmo' s_World)。 例如,如果字符串链接看起来像" en.wikipedia.org/wiki/Sesame_Street(Elmo' s_World",由于没有右括号,因此不会匹配。谢谢!

1 个答案:

答案 0 :(得分:0)

我觉得这样的事情可以做你想做的事情:

import re
link = 'en.wikipedia.org/wiki/Sesame_street(Elmo\'s_world)'
sub = re.sub(r'^.{2}\.wikipedia\.org/wiki/(.*)', r'\1', link)
if sub != link:
    if '(' in sub:
        if ')' in sub:
            print 'ok'
        else:
            print 'not ok'
    else:
        print 'ok'
else:
    print 'not ok'

但它只是检查是否有')'如果paranthesis被打开了,那么如果它被打开两次并且一旦它将匹配就关闭,但也许它会帮助你解决问题。 (顺便说一下,它也会匹配其他语言,如果只有' en匹配,请将{2}改为' en')。