一个电话号码,如果区号为3位,那么区号后面的数字为8位:如果区号为4位,那么区号后面的数字为7位 In [1]: import re In [2]: number = "020-232432354343234324" In [3]: regular = re.compile(r'\d{4}-\d{7}|\d{3}-\d{8}') In [4]: re.findall(regular, number) Out[4]: ['020-23243235']
.(句点)匹配除了换行之外的所有一个字符, .*(点-星)匹配除了换行外的所有字符 >>> >>> r=re.compile(r'.*')>>> r.search('How are you\nFine thank you and you\nI am fine too').group()'How are you'>>> 这个例子可以看出.*(点-星)匹配除了换行外的所有字符,但无法匹配换行符,如何匹配包括换行符的所有字符呢? 1.通过传
参数re.S jsProp = 'b' fpData = '''var a = []; var b = []; var c = [];''' .*是尽可能匹配多的 searchResult = re.search((r'((var\s+|\s*)%s\s*=\s*)\[.*\]'%jsProp), fpData, re.S) 结果:searchResult == '''var b = []; var c = []''' .*?匹配到第一个满足条件的 searchResult = re.s