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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Pytho正则表达式-match

發(fā)布時(shí)間:2025/3/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pytho正则表达式-match 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

代碼:

#!/usr/bin/python
import re
line = "Cats are smarter than dogs"
matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)
if matchObj:
print "matchObj.group() : ", matchObj.group()
print "matchObj.group(1) : ", matchObj.group(1)
print "matchObj.group(2) : ", matchObj.group(2)
else:
print "No match!!"

以上實(shí)例執(zhí)行結(jié)果如下:
matchObj.group() : Cats are smarter than dogs
matchObj.group(1) : Cats
matchObj.group(2) : smarter



主要解釋下 ?r'(.*) are (.*?) .*'

首先,這是一個(gè)字符串,前面的一個(gè)r表示字符串為非轉(zhuǎn)義的原始字符串,讓編譯器忽略反斜杠,也就是忽略轉(zhuǎn)義字符。但是這個(gè)字符串里沒有反斜杠,所以這個(gè)r可有可無。

  • (.*) 第一個(gè)匹配分組, ? .* ?代表匹配除換行符之外的所有字符,即任意字符即可

  • (.*?)第二個(gè)匹配分組,.*?后面多個(gè)問號(hào),代表非貪婪模式,也就是說只匹配符合條件的最少字符

  • 后面的一個(gè).* ?沒有括號(hào)包圍,所以不是分組,匹配效果和第一個(gè)一樣,但是不計(jì)入匹配結(jié)果中,只有加括號(hào)的才會(huì)返回到匹配結(jié)果中

  • matchObj.group() 等同于?matchObj.group(0),表示匹配到的完整文本字符

    matchObj.group(1) 得到第一組匹配結(jié)果,也就是(.*)匹配到的

    matchObj.group(2) 得到第二組匹配結(jié)果,也就是(.*?)匹配到的

    這里對(duì)新手還有個(gè)問題,matchObj.group(3)會(huì)報(bào)錯(cuò),因?yàn)橹挥衅ヅ浣Y(jié)果中只有兩組,所以填3時(shí)會(huì)報(bào)錯(cuò)。

    下面是修改后的代碼 ?,一看便懂

    #!/usr/bin/python import re line = "Cats are smarter than dogs hahaha" matchObj = re.match(r'(.*) are (.*?) than (.*) ha', line, re.M | re.I) if matchObj:print "matchObj.group() : ", matchObj.group()print "matchObj.group(1) : ", matchObj.group(1)print "matchObj.group(2) : ", matchObj.group(2)print "matchObj.group(3) : ", matchObj.group(3) else:print "No match!!"

    結(jié)果:

    D:\python\python.exe D:/pycharm/workspace/test01.py
    matchObj.group() : ?Cats are smarter than dogs ha
    matchObj.group(1) : ?Cats
    matchObj.group(2) : ?smarter
    matchObj.group(3) : ?dogs


    總結(jié)

    以上是生活随笔為你收集整理的Pytho正则表达式-match的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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