は本当に奇妙な問題を抱えています。私の(パイソン)正規表現は次のようになります。re.findallでRegEx/Python:オプションの空白が見つかりません
u'^.*(?:Grundfl|gfl|wfl|wohnfl|whg|wohnung).*(\s\d{1,3}[.,]?\d{1,2}?)\s*(?:m\u00B2|qm)'
() - 用語が、これは次のテキストのために2試合を投げる必要があります:「...71m²から83m²し」しかし を、のみ83が一致する。この問題は、数(\ s \ d {1,3} [。、]?\ d {1,2}?)と平方メータ(?:m \ u00B2 | qm)の間の任意の空白と関係がある。 \ s *を削除すると、71個だけが期待通りに一致します。私は正規表現に何が間違っているのか分かりません。 ありがとうございました!
質問はやや不明確である:あなたが最初の数を取得したいですか? *?\ s(\ d {1,3} [。、]?\ d {1,2}?)\ {\} {\ fB \ s *(?:m \ u00B2 | qm) '](https://regex101.com/r/iU2iV0/1)。パターンは '^'で文字列の先頭に固定されているので、2つのマッチは得られません。それでは、['^。*?(?: Grundfl | gfl | wfl | wohnfl | whg | wohnung)。*?\ s(\ d {1,3} (s:(s、s)、s(d:1,3)、...、d) :m \ u00B2 | qm))?]](https://regex101.com/r/iU2iV0/3)。または、単純な['(\ d {1,3} [。、]?\ d {1,2}?)\ s *(?:m \ u00B2 | qm)'](https://regex101.com/r/iU2iV0/4) –
これを再現することはできません - '\ s *'を削除しても一致は変わりません:https://regex101.com/r/mO1rH2/1 - d {1,2}? 'は" 1桁または2桁の数字にマッチすることを意味しません。オプションで "\ d {0,2}"が必要です。 –
['(\ d {1,2})\ D +(\ d {1,2})'](https://regex101.com/r/mO1rH2/2)を単純化することはできませんか? – Jan