#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'MFC' __time__ = '2019-03-11 18:00' import os import re file_name = "file.txt" # file path # print(os.path.abspath(__file__)) # file dir # print("The folder path %s " % os.getcwd()) # needed file_path = os.getcwd() + "/" + file_name # print("file_path is %s" % file_path) with open(file_path, 'r') as f: # è°ç¨read()æ¹æ³å¯ä»¥ä¸æ¬¡è¯»åæä»¶çå ¨é¨å 容ï¼Pythonæå 容读å°å åï¼ç¨ä¸ä¸ªstr对象表示 txt_content = f.read() f.close() print("*"*60) ''' re.matchä¸re.searchçåºå« re.matchåªå¹é å符串çå¼å§ï¼å¦æå符串å¼å§ä¸ç¬¦åæ£å表达å¼ï¼åå¹é 失败ï¼å½æ°è¿åNoneï¼ ère.searchå¹é æ´ä¸ªå符串ï¼ç´å°æ¾å°ä¸ä¸ªå¹é ã re.findall å¨åç¬¦ä¸²ä¸æ¾å°æ£åè¡¨è¾¾å¼æå¹é çææå串ï¼å¹¶è¿åä¸ä¸ªå表ï¼å¦ææ²¡ææ¾å°å¹é çï¼åè¿å空åè¡¨ã æ³¨æï¼ match å search æ¯å¹é 䏿¬¡ , findall å¹é ææã æ¤åºæ¯åºè¯¥ç¨re.findall ''' # python use regex # compile 彿°ç¨äºç¼è¯æ£å表达å¼ï¼çæä¸ä¸ªæ£å表达å¼ï¼ Pattern ï¼å¯¹è±¡ï¼ä¾ match() å search() è¿ä¸¤ä¸ªå½æ°ä½¿ç¨ã # é£ ?: çä½ç¨å°±æ¯ææè·åç»è½¬å为éæè·åç»ã pattern = re.compile(r"(\d{3}-|\(\d{3}\)\s)\d{3}-\d{4}") # æ³¨æææ¬æ±ä¸ä¸è¦å¹é é¦å°¾) pattern2 = re.compile(r"(?:\d{3}-|\(\d{3}\)\s)\d{3}-\d{4}") # ?: ææè·ç»è½¬å为ä¸ä¸ªéæè·ç»ï¼ä½¿å¾è¿ä¸ªå¼åå¯ä»¥ä»å¤´å°å°¾å ¨é¨å¹é ''' è¥å¹é æåï¼match()/search()è¿åçæ¯Match对象ï¼finditer()è¿åç乿¯Match对象çè¿ä»£å¨ï¼ è·åå¹é ç»æéè¦è°ç¨Match对象çgroup()ãgroupsægroup(index)æ¹æ³ã ''' # method 1 ret = pattern.finditer(txt_content) ret_list = [i.group() for i in ret] print(ret_list) # method 2 print(pattern2.findall(txt_content))