sedの正規表現で置換
アスタリスクで囲まれた文字列を <strong> タグに置換するsedコマンドは以下のようになります。
sed 's/\*\*\([^*]*\)\*\*/<strong>\1<\/strong>/g'
解説:
\*\*– 始まりの**をエスケープ\([^*]*\)–**で囲まれた内容をキャプチャ[^*]*は*以外の任意の文字にマッチ\*\*– 終わりの**をエスケープ<strong>\1<\/strong>– キャプチャした内容を<strong>タグで囲んで置換gフラグ – 行内のすべての該当部分を置換
使用例:
echo "**資産**" | sed 's/\*\*\([^*]*\)\*\*/<strong>\1<\/strong>/g'
出力:
<strong>資産</strong>
注意点:
- この正規表現は同じ行内で完結する
**...**にのみ対応 - 改行を跨ぐ場合は別の処理が必要
- 文中に単独の
*が含まれている場合は誤動作する可能性があります
秀丸の正規表現で置換
秀丸エディタの正規表現では、以下のように書き直せます。
検索文字列:
\*\*(.*?)\*\*
置換文字列:
<strong>$1</strong>
秀丸正規表現の特徴:
- キャプチャグループ:
( )で囲む(sedの\( \)とは異なる) - 後方参照:
$1を使用(sedの\1とは異なる) - 最短マッチ:
.*?で最短一致(?が最短マッチを意味する) - エスケープ:
*を\*でエスケープ
設定の確認:
秀丸で正規表現置換を使用する場合:
- 「検索」メニュー → 「置換」を選択
- 「正規表現」にチェックを入れる
- 上記の検索文字列と置換文字列を入力
使用例:
入力:
**資産**が重要です。**リスク**も忘れずに。
置換後:
<strong>資産</strong>が重要です。<strong>リスク</strong>も忘れずに。
注意点:
- 秀丸のバージョンによって正規表現の仕様が異なる場合があります
- 最短マッチ
.*?が使用できない場合は、[^*]*を使用:
\*\*([^*]*)\*\*


コメント