分数が正しく入力されていない特定のケースを見つけ、分子と分母をグループとして返す正規表現を作成しようとしています。
これらのケースでは、スラッシュと数字の間にスペースが含まれ1 /2
ます1/ 2
。
チェックする 2 つの個別のパターンが必要ないため、正規表現で論理 OR 演算子を使用します。
r'(\d) /(\d)|(\d)/ (\d)'
(私は\d+
除算記号に直接隣接する数字にもっと興味があるので、使用していません\d+
が、同様に機能します)。
問題は、ケースの 1 つ、たとえば 2 番目の ( 1/ 2
) に一致する場合、すべてのグループを調べると(None, None, '1', '2')
、 ('1', '2') になります。これは可能ですか?
編集: case の場合は
グループ ('1', '2') を返しますが、 の1 / 2
ような整形式の分数については何もキャプチャしないようにしたいと思い1/2
ます。