私は現在、HTML ファイルの膨大なセットで正規表現検索を許可したいプロジェクトに取り組んでいます。
最初に興味のあるファイルを特定した後、見つかったキーワードを強調表示したいと思います!
BeautifulSoup を使用すると、キーワードが見つかったノードを特定できます。私がすることの 1 つは、親全体の色を変更することです。
ただし、見つけたキーワードだけに独自の <span>-Tags を追加したいと思います。
BFSoup が提供する find() 関数を使用すると、位置などを決定することは大したことではありません。しかし、通常のテキストの周りにタグを追加することは不可能に思えますか?
# match = keyword found by another regex
# node = the node I found using the soup.find(text=myRE)
node.parent.setString(node.replace(match, "<myspan>"+match+"</myspan>"))
この方法では、適切なタグではなく単なるテキストのみを追加します。これは、ドキュメントが新たに解析されていないためです。これは回避したいと考えています!
私の問題が少し明確になったことを願っています:)