-
試下
拒絕
查看全部 -
import re ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #導入re模塊
生成pattern對象:pa = re.compile(r'imooc') ? ? #匹配的字符
生成match對象:ma = pa.match('imooc.com') ? ? ?#被匹配的字符
ma.group() ? ? ?==>imooc ? ? ? ? ? ? ? ? ? ? ? #返回匹配的字符 ? ?
ma.span() ? ? ?==>(0,5) ? ? ? ? ? ? ? ? ? ? ? ?#被匹配字符串所在索引位置
ma.string() ? ? ==>'imooc.com' ? ? ? ? ? ? ? ? #返回被匹配字符串
查看全部 -
正則表達式的作用:?
使用單個字符串來描述匹配一系列符合其語法規則的字符串?
是對字符串操作的一種邏輯公式?
處理文本和數據?
正則表達式過程:依次拿出表達式和文本中的字符比較,如果每一個字符都能匹配,則匹配成功、否則匹配失敗。
查看全部 -
2、
查看全部 -
2
查看全部 -
11
查看全部 -
正則表達式概念
使用單個字符串來描述匹配一系列符合某個語法規則的字符串
是對字符串操作的一種邏輯公式
處理文本和數據
依次拿出表達式和文本中的字符比較,如果每一個字符都能匹配,則匹配成功;否則匹配失敗
查看全部 -
pa=re.compile(r'imooc',re.I)#re.I意為ignore,不區分大小寫
查看全部 -
#python正則表達式 #1:import?re:python?正則表達式模塊 #2:第一個正則表達式 [object?Object] str1='imooc?python' #非正則方法 str1.find('11')#==>-1沒找到 str1.find('imooc')#==>0 str1.startswith('imooc')#==>True #正則方法 import?re#導入re模塊 pa?=?re.compile(r'imooc')#生成pattern對象,括號中是正則表達式,前加r表示原字符串 type(pa)#==>_sre.SRE_Pattern#生成實例 pa.match(str1)#==><_sre.SRE_Match?at?0x7f6e2115f370>返回了一個match的對象地址 ma?=?pa.match(str1)#使用一個變量接收 ma.span()#查看在原字符串的位置 #查找以下劃線開頭 import?re pa1=re.compile(r'_') ma1=pa1.match('_value') mal.group()
查看全部 -
#課程內容
#1:正則表達式基本概念
#2:python正則表達式re模塊
#3:正則表達式語法
#4:re模塊相關方法使用#1-1正則簡介
#為什么使用正則?
#疑問:字符串匹配就可以實現?
#場景1:在imooc.txt中找到以'imooc'開頭的行
def?find_start_imooc(f_name):
????f=open(f_name)
????for?line?in?f:
????????if?line.startswith('imooc'):
????????????print?line
#find_start_imooc('imooc.txt')
#場景2:在imooc.txt中找到以'imooc'開頭且以'imooc'結尾的行
def?find_in_imooc(f_name):
????f=open(f_name)
????for?line?in?f:
????????if?line.startswith('imooc')?and?line.endswith('imooc\n'):
????????#if?line.startswith('imooc')?and?line[:-1].endswith('imooc'):
????????????print?line
????????#abcd?=?s[0:4]?切片:取字符串s中的第一個字符到第五個字
????????#python每行以/n結尾,line[:-1]切片去掉最后一個/n
#find_start_imooc('imooc.txt')
#場景3:匹配一個下劃線和字母開頭的變量名
a='_value1'
a and (a[0]=='_' or 'a'<=a[0]<='z')#True
a='1_value1'
a and (a[0]=='_' or 'a'<=a[0]<='z')#False
#疑問:每一次匹配都要單獨完成,能否把它抽象出來做成一個規則?
#正則表達式概念
#1:使用單個字符串來描述匹配一系列符合某個句法規則的字符串
#2:是對字符串操作的一種邏輯公式
#3:應用場景:處理文本和數據
#4:正則表達式過程:依次拿出表達式和文本中的字符比較
#如果每一個字符都能匹配,則匹配成功;否則匹配失敗查看全部 -
語法結構清晰
查看全部 -
正則表達式 概念
查看全部 -
正則表達式
查看全部 -
正則表達式語法--分組匹配
查看全部 -
正則表達式語法--邊界匹配
查看全部 -
正則表達式語法--單個字符匹配
查看全部 -
*?、+?、??的講解
查看全部 -
\w和\W的講解部分
查看全部 -
正則表達式的基本語法
查看全部 -
#*對前一個字符匹配0次或無限次 ma?=?re.match(r'[A-Z][a-z]',?'Aa') ma.group() ma?=?re.match(r'[A-Z][a-z]',?'A') ma.group() ma?=?re.match(r'[A-Z][a-z]*',?'A') ma ma.group() ma?=?re.match(r'[A-Z][a-z]',?'Adsdshdhhdh') ma.group()
查看全部 -
r'<([\w]+>)[\w]+</\1' ?? 小括號中作為一個分組,中間的[\w]+表示匹配一個或多個數字字母 下劃線
<\表示HTML中的標簽結尾,\1表示再次使用小括號中的匹配內容在匹配一次
查看全部 -
re.compile match從頭開始匹配查看全部
-
基礎知識特別有幫助查看全部
-
ma=re.match(r'[_A-Za-z]+[_\w]*','str')=>用加號進行表達式拼接
*?:非貪婪模式,盡量匹配0次
+?:非貪婪模式,盡量匹配1次
??:非貪婪模式,盡量匹配0次
查看全部 -
match = re.compile(r'\[[\w]\]', '[a]')?
↑通過轉義符保證匹配到:置于中括號內的字符
查看全部
舉報