bashまたはzshの履歴拡張から特殊文字を検索するには?

bashまたはzshの履歴拡張から特殊文字を検索するには?

?、、^など一部のキャラクターは歴史展開で特別な意味を持っていますが、イベントで探すこと$ができますか?!string!?string[?]

ヘルプには、これを行う方法は記載されていません。

`!STRING'
     Refer to the most recent command preceding the current position in
     the history list starting with STRING.

修正する

特殊文字を検索することは意味がありません!string!?string[?]でうまく動作します。^$

?残りの質問は検索方法です。!?string[?]

関連情報