2019-08-13總結

"""
0.fullmatch(正則表達式,字符串):查看字符串和正則表達式是否匹配,如果不匹配,返回False。
正則表達式:r '正則語法'
1.正則表達式是處理字符串的工具,通過不同的正則符號來描述字符串的規(guī)則
2.正則符號:
(1)普通字符:除了在正則中特殊功能和特殊意義的符號意外的字符都算普通字符。
.:匹配任意字符,一個點匹配一個字符
\w:匹配一個數(shù)字,字母,下劃線(ascii表中):一個\w只能配一個長度為4字符
\d:匹配一個數(shù)字字符;
\s:匹配任意一個空白字符 ,空白字符包括空格字符,換行字符,制表符。
大寫字符
\D:匹配所有非數(shù)字字符
\S:匹配非空白字符
中括號語法:[字符集]-匹配字符集出現(xiàn)的任意一個字符,一個中括號匹配一個字符。【n-m】表示n到m,編碼值。
[1-9]:匹配1到9中的任意一個值,編碼值依次遞增。
[a-zA-Z]:表示任意一個字母
[\t\n]:匹配任意一個空字符
[\4u00-\u9fa5]:匹配任意一個中文字符
[^字符集]:匹配不在字符集中的任意一個字符
"""
from re import fullmatch, search

re_str = r'abc..123'
result = fullmatch(re_str, 'abc 123')
print(result)

"""
檢測符號:
1.\b:檢查是否是單詞邊界
單詞邊界:能夠?qū)蓚€單詞隔開并且不會產(chǎn)生歧義的任意符號:空白字符,標點符號,連接符等,字符串開頭和字符串結尾。
匹配規(guī)則:先去掉\b對字符串進行匹配,如果匹配成功再檢查\b所在的位置是否是單詞邊界。
^[]檢查字符串開頭
:檢查所在的位置是否是字符串的結尾
"""
"""
控制次數(shù)的符號:字符符號

  1. 匹配0次或者多次
    a:a出現(xiàn)0次或者多次
    123\d
    :123后出現(xiàn)0次或者多次數(shù)字
    2.+-匹配2次或者多次
    3.?匹配0次或者1次
    4.{N}匹配N次
    a{5}:匹配5個a
    {M,N}:匹配M到N次(匹配至少M次,最多N次)
    {M,}:匹配至少M次
    {,N}:最多匹配N次
    5.貪婪和非貪婪
    在匹配次數(shù)不確定的時候,會出現(xiàn)貪婪或者非貪婪兩種情況;默認情況都是貪婪。
    什么是貪婪:在能夠匹配成功的前提下,匹配次數(shù)盡可能多。
    非貪婪:在能夠匹配成功的前提下,匹配次數(shù)盡可能少。
    """
    '''
    分之:
    符號:正則1 | 正則2 | 正則3 在兩者中間選擇一個匹配。先讓正則1匹配,匹配成功就成功,否則讓正則2去匹配。
    分組:
    ()把括號里的內(nèi)容作為一個整體
    整體操作:r'(\d\d|[a-z]{2})abc' ;r'([a-z]\d){3}'
    分組:將結果分段,
    轉義:
    在正則中有特殊功能和特殊意義的符號前加\,讓這個符號的特殊功能和意義消失。
    在【】中具有特殊意義的符號:^放在開頭。一些特殊符號在【】里面的特殊功能消失。
    '''

re模塊

'''

  1. compile(正則表達式):生成一個正則對象
    2.字符串匹配:fullmatch(正則表達式,字符串)正則表達式和字符串完全匹配
    match(正則表達式,字符串) 匹配字符串開頭
    以上兩個方法的結果,匹配失敗返回None,匹配成功會返回對象。
    result=fullmatch(正則表達式,字符串)
    獲取匹配到的字符串:
    獲取匹配到的字符串:匹配對象.group(),結果是字符串
    匹配對象.group(N),獲取正則表達式中第N個分組匹配到的字符串
    獲取匹配到的字符串在原字符串中的范圍:
    匹配對象.span(),返回匹配結果在源字符串中的下標范圍。左閉右開的區(qū)間。
    匹配對象.span(N),返回第N個分組匹配到的結果在原字符串中的范圍。
    獲取原字符串:
    匹配對象.sting
    2.查找
    search(正則表達式,字符串):在字符串中查到第一個滿足正則表達式的子串,如果找到了結果是匹配對象,找不到結果是None。
    findall(正則表達式,字符串):獲取字符串中所有滿足正則表達式的子串,以列表的形式返回,如果沒有元素,返回空列表。
    如果正則表達式中有分組,列表中的匹配結果只會取分組匹配到的內(nèi)容。
    finditer(正則表達式,字符串):獲取字符串中所有滿足正則表達式的子串,返回值是一個迭代器。
    3.切割
    split(正則表達式,字符串):將字符串中滿足正則表達式的子串作為切割點,對字符串進行切割。
    返回一個字符串列表;
    4.替換
    sub(正則表達式,字符串1,字符串2):將字符串2中所有滿足正則表達式的子串都替換成字符串1。
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容