久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Python爬蟲(chóng)正則表達(dá)式常用符號(hào)和方法

      正則表達(dá)式并不是Python的一部分。正則表達(dá)式是用于處理字符串的強(qiáng)大工具,擁有自己獨(dú)特的語(yǔ)法以及一個(gè)獨(dú)立的處理引擎,效率上可能不如str自帶的方法,但功能十分強(qiáng)大。得益于這一點(diǎn),在提供了正則表達(dá)式的語(yǔ)言里,正則表達(dá)式的語(yǔ)法都是一樣的,區(qū)別只在于不同的編程語(yǔ)言實(shí)現(xiàn)支持的語(yǔ)法數(shù)量不同;但不用擔(dān)心,不被支持的語(yǔ)法通常是不常用的部分。

      1、常用符號(hào)

      . :匹配任意字符,換行符 n 除外

      :匹配前一個(gè)字符0次或無(wú)限次
      ? :匹配前一個(gè)字符0次或1次

      .* :貪心算法,盡可能的匹配多的字符

      .*? :非貪心算法

      () :括號(hào)內(nèi)的數(shù)據(jù)作為結(jié)果返回

      2、常用方法

      findall:匹配所有符合規(guī)律的內(nèi)容,返回包含結(jié)果的列表

      Search:匹配并提取第一個(gè)符合規(guī)律的內(nèi)容,返回一個(gè)正則表達(dá)式對(duì)象

      Sub:替換符合規(guī)律的內(nèi)容,返回替換后的值

      3、使用示例

      (1). 的使用舉例,匹配任意字符,換行符 n 除外

      import re #導(dǎo)入re庫(kù)文件

      a = ‘xy123’

      b = re.findall(‘x..’,a)

      print b

      打印的結(jié)果為:[‘xy1’] ,每個(gè) . 表示一個(gè)占位符

      (2) * 的使用舉例,匹配前一個(gè)字符0次或無(wú)限次

      a = ‘xyxy123’

      b = re.findall(‘x*’,a)

      print b

      打印的結(jié)果為:[‘x’, ”, ‘x’, ”, ”, ”, ”, ”]

      (3) ? 的使用舉例,匹配前一個(gè)字符0次或1次

      a = ‘xy123’

      b = re.findall(‘x?’,a)

      print b

      打印的結(jié)果為:[‘x’, ”, ”, ”, ”, ”]

      (4) .* 的使用舉例

      secret_code = ‘hadkfalifexxIxxfasdjifja134xxlovexx23345sdfxxyouxx8dfse’

      b = re.findall(‘xx.*xx’,secret_code)

      print b

      打印的結(jié)果為:[‘xxIxxfasdjifja134xxlovexx23345sdfxxyouxx’]

      (5).*?的使用舉例

      secret_code = ‘hadkfalifexxIxxfasdjifja134xxlovexx23345sdfxxyouxx8dfse’

      c = re.findall(‘xx.*?xx’,secret_code)

      print c

      打印的結(jié)果為:[‘xxIxx’, ‘xxlovexx’, ‘xxyouxx’]

      (6) ()的使用舉例

      secret_code = ‘hadkfalifexxIxxfasdjifja134xxlovexx23345sdfxxyouxx8dfse’

      d = re.findall(‘xx(.*?)xx’,secret_code)

      print d

      打印的結(jié)果為:[‘I’, ‘love’, ‘you’] ,括號(hào)內(nèi)的數(shù)據(jù)作為返回的結(jié)果

      (7) re.S的使用舉例

      s = ”’sdfxxhello

      xxfsdfxxworldxxasdf”’

      d = re.findall(‘xx(.*?)xx’,s,re.S)

      print d

      打印的結(jié)果為:[‘hellon’, ‘world’] ,re.S的作用是使 . 在匹配時(shí)包括 n

      (8) findall的使用舉例

      s2 = ‘asdfxxIxx123xxlovexxdfd’

      f2 = re.findall(‘xx(. ?)xx123xx(. ?)xx’,s2)

      print f20

      打印的結(jié)果為:love

      這時(shí)f2為含有一個(gè)元組的列表,該元組包含兩個(gè)元素,該元組中的兩個(gè)元素為兩個(gè)()匹配到的內(nèi)容,如果s2包含多個(gè)’xx(. ?)xx123xx(. ?)xx’這樣的子串,則f2包含多個(gè)元組;

      (9) search的使用舉例

      s2 = ‘asdfxxIxx123xxlovexxdfd’

      f = re.search(‘xx(. ?)xx123xx(. ?)xx’,s2).group(2)

      print f

      打印的結(jié)果為:love

      .group(2) 表示返回第二個(gè)括號(hào)匹配到的內(nèi)容,如果是 .group(1), 則打印的就是:I

      (10)sub的使用舉例

      s = ‘123rrrrr123’

      output = re.sub(‘123(.*?)123’,’123%d123’%789,s)

      print output

      打印的結(jié)果為:123789123

      其中的%d類(lèi)似于C語(yǔ)言中的%d,如果 output=re.sub(‘123(.*?)123′,’123789123’,s),輸出結(jié)果也為: 123789123

      (11) d 的使用舉例,用于匹配數(shù)字

      a = ‘asdfasf1234567fasd555fas’

      b = re.findall(‘(d+)’,a)

      print b

      打印的結(jié)果為:[‘1234567’, ‘555’] , d+ 可以匹配數(shù)字字符串;

      以上就是python爬蟲(chóng)正則表達(dá)式的一些常用符號(hào)和語(yǔ)法,希望對(duì)python初學(xué)者學(xué)習(xí)有所幫助。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)