与えられた位置で与えられた文字列を強調表示するには?

与えられた位置で与えられた文字列を強調表示するには?

これをどのように修正できますか?

<a href="http://foo.bar1">asfdlksafbar1qsasadf</a><br>
<a href="http://foo.bar2">svasfbar2saldkfj</a><br>
<a href="http://foo.bar3">safdfrhbar3saljfd</a><br>
<a href="http://foo.bar4">erasfasfbar4asfer</a><br>

これで?

<a href="http://foo.bar1">asfdlksafbar1qsasadf</a><br>
<a href="http://foo.bar2">svasfbar2saldkfj</a><br>
<a href="http://foo.bar3">safdfrh<font style=BACKGROUND-COLOR:red>bar3</font>saljfd</a><br>
<a href="http://foo.bar4">erasfasfbar4asfer</a><br>

したがって、bar3次の間に表示される場合にのみ強調表示されます。

">xxx</a>


ksh/OpenBSDを使用しています。

ベストアンサー1

Perl を使用するすべてのシステムには、次の事項を適用する必要があります。

perl -pe 's/(>.*)(bar3)(.*<\/a>)/$1<font style=BACKGROUND-COLOR:red>$2<\/font>$3/'

少なくとも、サンプルファイルは正しい操作を実行します。要求されたとおりの正規表現には、および間s/regexp/replacement/の一致が必要ですが、実際のHTML入力がそれよりも複雑である場合は、過度に単純化される可能性があります。もしそうなら、あなたの要求の詳細を提供してください。bar3></a>

おすすめ記事