python--正則表達式中(.)(*)(.*?)以及re.S的認識


https://yiyibooks.cn/xx/python_352/library/re.html

看command:

 
         
 1 #-*-coding:gb2312-*-
 2 __author__ = 'fudandax'
 3 import re
 4 str = 'aabhh\nacbccd\na\nbbdffbgg'
 5 #一個'.'就是匹配\n(換行符)以外的任何字符
 6 print(re.findall(r'a.b',str))
 7 #一個'*'前面的字符出現0次或以上
 8 print(re.findall(r'a*b',str))
 9 #貪婪,匹配從.*前面為開始到后面為結束的所有內容。
10 print(re.findall(r'a.*b',str))
11 #非貪婪,遇到開始和結束就截取,因此截取多次符合的結果,中間沒有字符也會被截取 ???
12 print(re.findall(r'a.*?b',str))
13 #非貪婪,與上面是一樣的,只是與上面相比,多了一個括號,只保留括號中的內容
14 print(re.findall(r'a(.*?)b',str))
15 #re.S不會對\n進行中斷
16 print(re.findall(r'a(.*?)b',str,re.S))
17 #保留a,b中間的內容
18 print(re.findall(r'a(.+?)b',str))
19 print(re.findall(r'a(.+?)b',str)[0])
 
         

 

 
['aab', 'acb']
['aab', 'b', 'b', 'b', 'b']
['aab', 'acb']
['aab', 'acb']
['a', 'c']
['a', 'c', '\n']
['a', 'c']
a

  


  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM