URL構造体に数千のURL値を含む文字列リストがあり、URL値から特定の情報を抽出するためにregexを使用しようとしています。以下は、あなたがこの特定のURL(データ全体の数字のみが変化し、他の多くのレコードがこの形式であることに注意してください)の構造についてのアイデアを得ることができ、そこからURL例を示します:正規表現を使用して文字列リストから特定の情報を抽出する
url_id | url_text
15 | /course/123908/discussion_topics/394785/entries/980389/read
使い方私はURLはこのような構造を持っている見つけることができるのpythonでre
ライブラリ:
re.findall(r"/course/\d{6}/discussion_topics/\d{6}/entries/\d{6}/read", text)
は、しかし、私はまた、「394785」と「980389」の値を抽出し、次のようになり、新たな行列を作成する必要があります
url_id | topic_394785 | entry_980389 | {other items will be added as new column}
15 | 1 | 1 | 0 | 0 | 1 | it goes like this
この特定の情報の抽出に誰かが助けてくれますか?私は 'str'の 'split'メソッドがオプションになる可能性があることを知っています。しかし、もっと良い解決策があるのだろうかと思います。
ありがとうございます!
' ** **最適なソリューションです。 – Tomalak
regexキャプチャグループを使用するだけではどうですか? – Tagc
はい、 're.finditer'を持つグループをキャプチャして正規表現を使用して、マッチ全体にアクセスすることができます。 –