text = ‘20,570円(税込)/ 18,700(税抜)税率:10%’ match = re.search(r’b((/ )d{1,3}(,d{3})*)(税抜)b’, text)
この正規表現では、与えられたテキストから (税抜) という文字列が含まれる部分を検索しようとしています。ただし、b を使って単語境界を指定していますが、この場合、b はパターンの開始や終了ではなく、単語の境界を示すために使われています。
正規表現のパターン ((/ )d{1,3}(,d{3})*) は、以下のように解釈されます:
(と)に囲まれた部分はキャプチャーグループであり、マッチした部分全体がキャプチャされます。/: スラッシュの後にスペースがあるパターンを示します。d{1,3}: 1 から 3 桁の数字を示します。(,d{3})*: カンマと 3 桁の数字が 0 回以上繰り返されるパターンを示します。
このパターンが / 18,700 のようなパターンにマッチすることを意図しているようです。
しかし、与えられたテキストには (税抜) という文字列が含まれるため、現在の正規表現パターンではマッチしません。正規表現を修正して、(税抜) を含む部分にマッチするようにする必要があります。

ディスカッション
コメント一覧
まだ、コメントがありません