1. ホーム
  2. Web プログラミング
  3. 正規表現

簡単に始められる非貪欲なマッチングの正規表現 詳細編

2022-01-17 09:16:50

ノングリーディーマッチング {コード

{{コード

画像

通常、マッチングルール "456(. *?) 789" が複数ある場合、findall() 関数は文字列の先頭からテキストAを探し始め、次にテキストBを探し始めます。最初のテキストBが見つかると、検索は一時的に停止し、テキストAとテキストBの間の内容がリストに格納されます。その後、テキストAの検索を続け、文字列の末尾に達するまで前のステップを繰り返し、マッチした内容をすべてリストに格納します。

(. *?)
import re
a = '456qwe789rty123abc'
re = re.findall('456(. *?) 789',a)
print(re)

画像

欲張りモードは、最も長いものを探します

import re
a = '456qwe789rty123456kkk789abc456xiaowang789'
re = re.findall('456(. *?) 789',a)
print(re)

画像

ノングリードマッチ import re a = '456qwe789rty123456kkk789abc456xiaowang789' re = re.findall('456(. *)789',a) print(re)

{{コード

画像

. *? import re a='<a href="https://blog.csdn.net/weixin_42403632/article/details/120825546" rel="external nofollow" target=& quot;_blank" data-report-click="{&quot;spm&quot;:&quot;3001.5501&quot;}" data-report-query="spm= 3001.5501" data-v-6fe2b6a7="">' re=re.findall('<a href="(. *?) " rel="external nofollow" rel="external nofollow" . *?' ,a) print(re) " and the html code after the url . *? の略で、抽出する必要があるのは <a href="

{{コード ブログカラムのURLをクローリングする練習

{{コード
{{コード

import re,requests url='https://blog.csdn.net/weixin_42403632/category_11076268.html' headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0'} html=requests.get(url,headers=headers).text re=re.findall('<a href="(. *?) " rel="external nofollow" rel="external nofollow" . *?rel="noopener">',html) for i in re: print(i)

{{コード この記事では、簡単に始められる非貪欲マッチングの正規表現について紹介します。もっと関連する正規表現非貪欲マッチングの内容は、BinaryDevelopの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。 {コード