Web Scraping 网络爬虫之正则表达式

使用的是python3.6,大家可以自行测试,有问题欢迎指正


  • *:匹配号之前的字符或者字符串,出现0次或者多次。如ab*

  • +:匹配+号之前的字符或者字符串,出现1次或者多次。(至少出现一次) 如:a+b+

  • []:匹配括号里面的字符 如[A-Z]*

  • ():分组的子表达式 如 (ab)

  • {m,n}:匹配之前的字符或者表达式,出现次数在m, n之间 如a{2,3}b{2,3}

  • [^]:匹配任何不在括号里面的单个字符串 如[^A-Z]

  • |:匹配用I分割的任意字符 如: b(a|i|e)d

  • .:匹配任何单字符串(包括符号,数字,空格等) 如:b.d

  • ^:指明字符串必须以表达式中的字符开头 如:^a

  • \:取消后面字符的特殊意义,变为普通的字符串 如: .|\

  • $:正则表达式字符串结束的位置 如:[A-Z][a-z]$

  • ?!:根据后面的字符串进行预测,表达式前面的字符串,如果包含就不匹配,不包含就匹配 如:^((?![A-Z]).)*$

下面用python测试一下

import re

test_text= 'no-caps-here, $ymb01sa4e f!ne'

reObj= re.compile('^((?![A-Z]).)*$')

print(reObj.match(test_text))

输出结果:

<_sre.SRE_Match object; span=(0, 29), match='no-caps-here, $ymb01sa4e f!ne'>

表达式说明:匹配大写字母A-Z, 如果匹配到就就取反没结果,如果没有匹配到大写字母,就输出字符串。
其他正则表达式自行测试。
欢迎留言。