私は検索とグループを使って文字列の特定の部分を抽出しています。しかし、私が持っている問題は、それが初めて発生するときしか見つからないということです。それが正しいのは、それが検索の仕組みだからです。検索でRegexが複数一致する
私はどこで発生するのかを見つける必要がありますが、私がfindallを使用すると、私が望んでいない配列が作成され、グループ()を使って作業することができないので、余分なステップがありますこれを行う別の方法がありますか?ここで
は、私が持っているコードです:
for num, line in enumerate(file, 1):
if check in line:
print 'href at line', num
reg = re.compile('href="(.*?)"|href=\'(.*?)\'')
link = re.search(reg, line)
link = link.group(1)
print 'url:', link
私は唯一の行の最初のURLを取得します。
"findallは私が欲しいものではない配列を作成します*" - どうしてですか?代わりに何をしたいですか? – TessellatingHeckler
このような質問をするときは、問題を再現するための文字列の例を挙げてください。ここでは、正規表現を使ってhtmlを解析しようとしているようですが、これは方法ではありません。pythonにはいくつかのhtmlパーサーがあります。 –
正規表現について学ぶのを手助けするためのクラス割り当てです。実際にはhtmlを解析するのではありません。 – TheBandit