Pythonでは正規表現にはsub、search、findll、splitなどが使われます.


1.原生文字列rpython r , 。はほとんどのプログラミング言語と同じで、 "\" は、バックスラッシュを引き起こす可能性があります.テキスト中の文字の「\」にマッチする必要がある場合、プログラミング言語で表現される正規表現には4つのバックスラッシュ「\」が必要になります.前の2つと後の2つはそれぞれプログラミング言語でバックスラッシュに変換され、2つのバックスラッシュに変換された後、正規表現でバックスラッシュに変換されます.
#   re  
import re

vrgs = "c:\\a\\b\\c"
print(vrgs) #c:\a\b\c  python   print  ,    \  。

ret = re.match("c:\\\\",vrgs).group()
print(ret) #c:\,     ret=c:\\

ret = re.match(r"c:\\a",vrgs).group() #  r     
print(ret)  #c:\a
2.re.search整合関数の使用
        RE.search()は文字列全体をスキャンし、最初の成功マッチを返します.マッチング成功re.search方法は、一致するオブジェクトを返します.そうでなければ、Noneに戻ります.group(num)またはgroups()整合対象関数を使用してマッチ式の結果を得ることができます.
関数文法:re.search(pattern、string、flags=0)patternは正則で、string文字列、flagsは修繕符です.
#   re  
import re

ret = re.search(r"\d+", "   :18434   334343 ") #             
print(ret.group())  #18434

ret = re.search("[A-Za-z0-9]{2,8}","  a2Z     ")
print(ret.group())  #a2Z
3.findllマッチング関数使用
正規表現にマッチするすべてのサブストリングを文字列で見つけ、一致するものが見つからない場合は、空のリストを返します.注意: matchとsearchは全てのフィットにマッチします.
構文形式は:findll(string[,pos[,endpos]])
#   re  
import re

ret = re.findall(r"[A-Za-z]", "   aDFD23  ,   13BB34  ,   zdfasd  ")
print(ret)
'''
['a', 'D', 'F', 'D', 'B', 'B', 'z', 'd', 'f', 'a', 's', 'd']
'''
4.sub関数の使用:マッチングしたデータを置換する
    :re.sub(pattern, repl, string, count=0),             
  • pattern:正則におけるモード文字列.
  • repl:置換された文字列は、関数としてもよい.
  • string:置換元の文字列を検索します.
  • #   re  
    import re
    
    ret = re.sub(r"\d+", '999999', "   :143434     ")
    print(ret) #   :999999     
    
    ret = re.sub(r"bb","AA","  bb  ,  bb ,   bb",2) #  2 
    print(ret)  #  AA  ,  AA ,   bb
    
    =============sub           ============================================
    def sumNum(temp):
        strNum = temp.group()
        sumNum = int(strNum)+100
        return str(sumNum)
    
    ret = re.sub(r"\d+", sumNum, "A=100,B=200,C=300")
    print(ret) #A=200,B=300,C=400
    5.スプリット関数使用
    スプリットメソッドは、マッチできるサブストリングに従って文字列を分割してリストに戻ります.
    その使い方は以下の通りです.re.split=1は一回に分けて、デフォルトは0で、回数は制限しません.
    import re
    ret = re.split(r":| ","  :   33   :  ")
    print(ret)  #['  ', '  ', '33', '  :  ']
    共同声明:オリジナルブログの内容については、インターネットからの参考となる部分があります.オリジナルリンクが見つからなかったら、ここで権利侵害があったら削除してください.ブログの転載については、オリジナルリンクがあれば声明します.オリジナルリンクが見つからなかったら、ここで権利侵害があったら削除してください.