各種正則表達式案例

  1. 查找空行:^[ \t]*$\r\n

  2. 查找最後一位是小寫字母的8位十六進制數:0x[0-9]{7,7}[a-z]{1,1}

  3. 查找至少有一位是小寫字母的8位十六進制數:0x(?=[0-9]{0,7}[a-z])[a-z0-9]{8,8}

  4. 截取當前行第一個括號前面的全部字符:(?=^[^(|^(^\r|^\n]*[(|(])^[^(|^(]*

import re

#查找至少有一位是小寫字母的8位十六進制數,並將其修改爲大寫
def hex_to_upper(hexStr):
    listHex = re.findall("0x(?=[0-9]{0,7}[a-z])[a-z0-9]{8,8}", hexStr)
    print listHex
    newStr = re.sub(r"0x(?=[0-9]{0,7}[a-z])[a-z0-9]{8,8}", "0XLLLLLLLL", hexStr)
    for obj in listHex:
        print obj, '-----------', obj[2:]
        newStr = re.sub(r"0XLLLLLLLL", '0x'+obj[2:].upper(), newStr, 1)
    return newStr

if __name__ == '__main__':
    a = "oei0x7822CDE2lwnfnsodf0x7822abe2lsdksdf1023900x98de293c988e9we0x98112931ii"
    print a
    print hex_to_upper(a)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章