阅读(2249) (20)

python文本 字符串开头或者结尾匹配

2016-11-16 16:38:42 更新

python 文本 字符串开头或者结尾匹配

场景:

字符串开头或者结尾匹配,一般是使用在匹配文件类型或者 url

一般使用 startwith 或者 endwith

  >>> a='http://www.zijiebao.com/vip'  
  >>> a.startswith ('http')  
  True  

注意:这两个方法里面的参数可以是 str,也可以是元组,但是不可以是列表和字典

  >>> a='http://www.zijiebao.com/vip'  
  >>> a.startswith (('http','ftp'))  
  True  

如果是列表或者字典,则报错

  >>> a='http://www.zijiebao.com/vip'  
  >>> a.startswith (['http','ftp'])  
  Traceback (most recent call last):  
    File "", line 1in   
      a.startswith (['http','ftp'])  
  TypeError: startswith first arg must be str or a tuple of str, not list  
  >>>   

其实,除了上面的方法, 也可以使用切片来实现,只不过代码看上去没那么好看而已

  >>> a='http://www.zijiebao.com/vip'  
  >>> a[0:4]=='http'  
  True  
  >>>   

当然,我们也可以用正则表达式来做,但是理解上面就稍微难度有点。

  >>> import re  
  >>> url = 'http://www.python.org'  
  >>> re.match('http:|https:|ftp:', url)  
  05), match='http:'>  
  >>> help(re.match )  
  Help on function match in module re:  
    
  match(pattern, string, flags=0)  
      Try to apply the pattern at the start of the string, returning  
      a match object, or None if no match was found.  
    
 >>>