Python中級プログラミング(1)
2023/10/22 |
[Prev] [Next] [Top] , Python [Prev] [Next] |
何はともあれ正規表現
そもそも正規表現とは
正規表現の簡単な例(1)
import re str = "<li> 取り出したい 文字列 </li>" print("調査対象文字列: '", str, "'", sep="") o_m1 = re.search(r"<li>", str) if o_m1: print("マッチしました(1): '",str, "'", sep="") o_m2 = re.search(r"<li>\s*(\S.*\S)\s*</li>", str) if o_m2: print("マッチしました(2): '", o_m2.group(1), "'", sep="") 調査対象文字列: '<li> 取り出したい 文字列 </li>' マッチしました(1): '<li> 取り出したい 文字列 </li>' マッチしました(2): '取り出したい 文字列' o_m1 = re.search(r"<li>", str) では、"<li>" という文字列が含まれることがマッチ条件です。 o_m2 = re.search(r"<li>\s*(\S.+\S)\s*</li>", str) は「ナニコレ?」ですよね。 o_m2 = re.search(r"<li>\s*(\S.+\S)\s*</li>", str) これはPythonのraw文字列というものです。エスケープ文字も「その文字自身」として解釈します。 正規表現の簡単な例(2)
import re str1 = "測定値1: 100V" str2 = "測定値2 : -12.53 mV" re_pat = r"^\s*測定値(\d+)\s*:\s*([\+\-]*\d+\.*\d*)\s*(\D+)\s*$" o_m1 = re.search(re_pat, str1) print(o_m1.group(1),":",o_m1.group(2),"[",o_m1.group(3),"]") o_m2 = re.search(re_pat, str2) print(o_m2.group(1),":",o_m2.group(2),"[",o_m2.group(3),"]") 1 : 100 [ V ] 2 : -12.53 [ mV ] 正規表現記述のバリエーションは次回
|
Notes |
Copyright(C) 2023 Altmo
本HPについて |
[Prev] [Next] [Top] , Python [Prev] [Next] |