日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Py正则表达式学习笔记:特殊字符——中括号表达式、限定符表达式

發(fā)布時間:2023/12/20 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Py正则表达式学习笔记:特殊字符——中括号表达式、限定符表达式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 中括號表達式
    中括號表達式的核心作用是表示范圍。有三種用法
    (1)區(qū)間范圍
    [a-z]表示所有小寫字母
    [A-Z]表示所有大寫字母
    [0-9]表示數(shù)字
    比固定表達式\w、\d更加靈活,可以調(diào)整范圍
  • 例子演示:驗證用戶名開頭只能是數(shù)英文大小寫字母

    import retext = "┊ ╋。Máì葬"regex = r'^[a-zA-Z0-9]' matchObj = re.search(regex, text) if matchObj:print('用戶名 ' + text + ' 合法') else:print('用戶名 ' + text + ' 不合法')

    (2)可枚舉的范圍
    [A4j7]表示文本可以匹配到中括號內(nèi)的任意一個字符。等同于a|4|j|7
    [0,5-9]這是區(qū)間與枚舉的混合用法,表示數(shù)字0、5、6、7、8、9
    [2,4]枚舉數(shù)字時要用逗號分開,否則系統(tǒng)不知道是2和4,還是24

    例子演示:驗證用戶名的開頭只能是數(shù)字、英文大小寫字母、下劃線、中劃線、|

    import retext = "┊ ╋。Máì葬"regex = r'^[a-zA-Z0-9_-┊]' matchObj = re.search(regex, text) if matchObj:print('用戶名 ' + text + ' 合法') else:print('用戶名 ' + text + ' 不合法')

    (3)排除范圍
    在中括號中,用^來排除指定的范圍。其實是表達非的含義
    [^a4j7]:表示除了a4j7之外的任意字符
    [^E-G]:表示除了EFG之外的任意字符
    ^在中括號中表示排除,否則表示文本開頭,不要混淆了。
    例子演示:驗證用戶名的開頭不能是數(shù)字、下劃線、中劃線、|

    在這里插入代碼import retext = "┊ ╋。Máì葬"regex = r'^[a-zA-Z0-9_-┊]' matchObj = re.search(regex, text) if matchObj:print('用戶名 ' + text + ' 合法') else:print('用戶名 ' + text + ' 不合法')

    2.限定符表達式
    (1)一般限定符
    1???:表示前面的子表達式可以出現(xiàn)零次或一次
    例如:go?d可以匹配gd,可以匹配god,但不能匹配good
    2??+:表示前面的子表達式可以出現(xiàn)一次或多次(大于等于1次)
    例如:go+d不可以匹配gd,可以匹配god,可以匹配good
    3??*:表示前面的子表達式可以出現(xiàn)任意次
    例如:go可以匹配g,可以匹配go,也可以匹配goo
    (2)范圍限定符
    正則表達式支持在{}大括號中指定匹配次數(shù)的范圍
    1??{n}:n是一個非負整數(shù)。匹配確定的n次
    例如:”o{2}”不能匹配”Bob”中的”o”,但是能匹配”food”中的兩個o
    2??{n,}:n是一個非負整數(shù)。至少匹配n次
    例如:”o{2,}”不能匹配”Bob”中的o,但是能匹配”foooood”中所有的o。”o{1,}”等價于”o+”。”o{0,}”等價于”o”
    3??{n,m}:m和n均為非負整數(shù),其中n<=m。表示最少匹配n次且最多匹配m次。

    代碼演示:驗證用戶名的長度至少4位,最長16位,僅支持字母、數(shù)字、下劃線、中劃線

    import retext = "luBan-2019"regex = r'^[a-zA-Z0-9_-]{4,16}$' matchObj = re.match(regex, text)if matchObj:print('用戶名 ' + text + ' 合法') else:print('用戶名 ' + text + ' 不合法')

    總結

    以上是生活随笔為你收集整理的Py正则表达式学习笔记:特殊字符——中括号表达式、限定符表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。