Markdownの太字を置換

コマンド
コマンド

sedの正規表現で置換

アスタリスクで囲まれた文字列を <strong> タグに置換するsedコマンドは以下のようになります。

sed \'s/\*\*\([^*]*\)\*\*/<strong>\1<\/strong>/g\'

解説:

  • \*\* – 始まりの ** をエスケープ
  • \([^*]*\) – ** で囲まれた内容をキャプチャ
  • [^*]* は * 以外の任意の文字にマッチ
  • \*\* – 終わりの ** をエスケープ
  • <strong>\1<\/strong> – キャプチャした内容を <strong> タグで囲んで置換
  • g フラグ – 行内のすべての該当部分を置換

使用例:

echo \"**資産**\" | sed \'s/\*\*\([^*]*\)\*\*/<strong>\1<\/strong>/g\'

出力:

<strong>資産</strong>

注意点:

  • この正規表現は同じ行内で完結する ... にのみ対応
  • 改行を跨ぐ場合は別の処理が必要
  • 文中に単独の * が含まれている場合は誤動作する可能性があります
Markdownの太字を置換
[html5]videoタグで字幕同調表示
HTML5のvideoタグで動画と字幕・文字起こしを同調表示する2つの方法を解説。標準のtrackタグ(WebVTT)によるシンプルな字幕表示と、JavaScriptのtimeupdateイベントを用いたリッチな文字起こし連携の実装手順が学べます。

秀丸の正規表現で置換

秀丸エディタの正規表現では、以下のように書き直せます。

検索文字列:

\*\*(.*?)\*\*

置換文字列:

<strong>$1</strong>

秀丸正規表現の特徴:

  1. キャプチャグループ:( ) で囲む(sedの \( \) とは異なる)
  2. 後方参照:$1 を使用(sedの \1 とは異なる)
  3. 最短マッチ:.*? で最短一致(? が最短マッチを意味する)
  4. エスケープ:* を \* でエスケープ

設定の確認:

秀丸で正規表現置換を使用する場合:

  • 「検索」メニュー → 「置換」を選択
  • 「正規表現」にチェックを入れる
  • 上記の検索文字列と置換文字列を入力

使用例:

入力:

**資産**が重要です。**リスク**も忘れずに。

置換後:

<strong>資産</strong>が重要です。<strong>リスク</strong>も忘れずに。

注意点:

  • 秀丸のバージョンによって正規表現の仕様が異なる場合があります
  • 最短マッチ .*? が使用できない場合は、[^*]* を使用:
  \*\*([^*]*)\*\*
Markdownの太字を置換
標準コマンドをRust製ツールで置き換え
lsやcatなどの標準コマンドを、ezaやbatなどの高速で高機能なRust製ツールへ置き換える方法を解説します。具体的な導入手順や.zshrcでのエイリアス設定、Docker管理ツールまで、開発効率を劇的に向上させる知見を紹介します。
Q よくある質問 (FAQ)
Q. sedと秀丸エディタの正規表現で、グループ化(キャプチャ)の記述はどう異なりますか?
A.
sedでは「( )」で囲み「1」で参照しますが、秀丸エディタでは「( )」で囲み「$1」で参照する違いがあります。
Q. sedでの置換において、複数行にまたがる太字(**)の置換は可能ですか?
A.
本記事で紹介したsedコマンドは同一行内のみに対応しているため、改行を跨ぐ太字を置換する場合は別途スクリプト処理等が必要です。
Q. 秀丸エディタで最短マッチ(.*?)が動作しない場合はどうすればよいですか?
A.
最短マッチが使用できない古いバージョンの場合は、アスタリスク以外の文字にマッチする「[^*]*」を代わりに使用してください。

コメント

タイトルとURLをコピーしました