リクエストモジュールを使用してターゲットWebサイトからHTMLにアクセスし、Beautiful Soupを使用してWebサイトの特定の要素を選択しています。問題の要素は、英国プレミアリーグ2016/2017シーズンまでの結果を含む表です。表には、試合日、参加チーム、フルタイムスコア、ハーフタイムスコアが含まれています。 Pythonを使用して、テーブル要素のHTMLを解析し、そこにリストされているフィクスチャを抽出します。 。 - チームBサッカーチームのフィクスチャーを文字列で見つけるPythonの正規表現
チーム名は1-3の別個の文字列(例えばバーンリー、マンチェスター・ユナイテッド、ウェストハム・ユナイテッド
私の試みは、これまでであることができ
チームA:チームはいつものように記載されています:
輸入再 teamsRegex = re.compile(R '((\ワット+ \ S)+ - (\ S \ +)+ W)')
ここに私のロジックがある最初のチームができること1 -3個の文字列の長さが異なり、各文字列の後には常に空白文字が続くため、パターン(\ w + \ s)+は任意の長さの文字列の後に空白が続き、1回または複数回繰り返すことができます。 2番目のチーム名は、常に " - "文字の後の空白で始まり、1回または何回(\ s \ w +)+繰り返される任意の長さの文字列でもかまいません。
私は一種の望ましい結果を達成していますが、上記は完全に正しいわけではありません。私は、インデックス1、インデックスなどのインデックス0の最後の文字列としてインデックス0の最初の文字列が続くインデックス0で私の望ましい結果でリストを返しています。2.
例文字列:
「バーンリー - スウォンジー市内ALIGN =中央幅= 45> 0 - 1とALIGN =中央>(0-0)」
正規表現が見つかった:
[( 'バーン - スワンシー都市'、 'バーン'、 '都市')、 ( '0'、 '0'、 '1')]
[Burnley - Swansea City]]
何か助けを期待して多くの感謝を!チームの名前と一致するグループ(あなたが唯一の完全な一致を得ることができますので、?:
)
あなたは、入力文字列内のHTMLの一部を取得します。あなたは次のように試してみることができます:[re:\ a * (?!=) ') '](http://ideone.com/HjuLTI)ですが、根本的な問題を解決するのが最善であると思います。 –