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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python模块名限定_python 正则表达式 匹配 ?的使用 限定符 sys.re模块

發(fā)布時間:2025/3/8 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python模块名限定_python 正则表达式 匹配 ?的使用 限定符 sys.re模块 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

特殊字符:注意\b是匹配單詞而非字符串的開始和結(jié)束; \w不能匹配漢字

限定符放在匹配符的后邊

2 括號分組:

(\d\d\d){2}?#有括號匹配6位數(shù)字

\d\d\d{2}?#沒有括號匹配4位數(shù)字

3??的使用

4 sys.re模塊的常用函數(shù)表:查找、分隔、替換字符串

re模塊的規(guī)則選項:大小寫 flags參數(shù)是附加選項,如re.I表示忽略大小寫

5 實(shí)戰(zhàn):字符串前邊的r表示制定規(guī)則,出現(xiàn)意想不到的錯誤時很可能是漏加r

import re

# ^與$的使用

s = "HELLO WORLD"

print re.findall(r"^hello", s)?print re.findall(r"^hello", s,

re.IGNORECASE)?print re.findall(r"WORLD$", s)

print re.findall(r"wORld$", s, re.I)

print re.findall(r"\b\w+\b", s)

import re

#sub用法,關(guān)于替換

s = "hello world"

print re.sub("hello", "hi",

s)?print re.sub("hello", "hi", s[-4:])?print re.sub("world", "China", s[-5:])?#3個sub都是打印s字符串轉(zhuǎn)變后的結(jié)果

print s

6 subn、sub和匹配實(shí)例

import re

# 特殊字符的使用

s = "你好 WORLD2"

print "匹配字母數(shù)字:" + re.sub(r"\w", "hi", s)?#一個字符就替換成hi,有6個

print "替換次數(shù):" + str(re.subn(r"\w", "hi", s)[1])?#返回2元祖,第二個索引是替換次數(shù)

print "匹配非字母數(shù)字的字符:" + re.sub(r"\W", "hi",

s)?#一個漢字相當(dāng)于2個字符

print "替換次數(shù):" + str(re.subn(r"\W", "hi", s)[1])

print "匹配空白字符:" + re.sub(r"\s", "*", s)?print "替換次數(shù):" + str(re.subn(r"\s", "*", s)[1])

print "匹配非空白字符:" + re.sub(r"\S", "hi", s)

print "替換次數(shù):" + str(re.subn(r"\S", "hi", s) [1])

print "匹配數(shù)字:" + re.sub(r"\d", "2.0", s)

print "替換次數(shù):" + str(re.subn(r"\d", "2.0", s)[1])

print "匹配非數(shù)字:" + re.sub(r"\D", "hi", s)

print "替換次數(shù):" + str(re.subn(r"\D", "hi", s)[1])

print "匹配任意字符:" + re.sub(r".", "hi", s)?print "替換次數(shù):" + str(re.subn(r".", "hi", s)[1])

7解析電話號碼?#返回的是列表!

import re

# 限定符的使用

tel1 = "0791-1234567"

print re.findall(r"\d{3}-\d{8}|\d{4}-\d{7}", tel1)

tel2 = "010-12345678"

print re.findall(r"\d{3}-\d{8}|\d{4}-\d{7}", tel2)

tel3 = "(010)12345678"

print re.findall(r"[\(]?\d{3}[\)-]?\d{8}|[\(]?\d{4}[\)-]?\d{7}",

tel3)

print re.findall(r"a.*?c", "abcabc")

正則表達(dá)式的解析費(fèi)時,如果多次使用findall方式匹配字符串,效率可能比較低,可以使用compile()進(jìn)行預(yù)編譯,返回一個pattern對象,用于提高字符串的匹配速度

總結(jié)

以上是生活随笔為你收集整理的python模块名限定_python 正则表达式 匹配 ?的使用 限定符 sys.re模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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