秀丸でグレップ検索する際、除外キーワーNo.40380
red9 さん 23/03/17 20:07
 
秀丸でグレップ検索する際、除外キーワードを指定することはできますか?

例えば、「hoge」を検索したいが「hogePiyo」は除外したい場合には、どういう方法
がありますか?
検索欄で「hoge -hogePiyo」みたいな指定はできませんか?

[ ]
RE:40380 秀丸でグレップ検索する際、除外No.40381
こみやんま さん 23/03/18 12:23
 
>秀丸でグレップ検索する際、除外キーワードを指定することはできますか?
>
>例えば、「hoge」を検索したいが「hogePiyo」は除外したい場合には、どういう方
>法がありますか?
>検索欄で「hoge -hogePiyo」みたいな指定はできませんか?

grepでも検索でも同じで、
正規表現で後方不一致を使うのがいいんじゃないですかね?
(他の多くのエディタでもほぼ同じような指定の仕方ですし)

秀丸エディタのヘルプで「後方不一致」や「前方不一致」で調べると良いかと思いま
す。

後方不一致指定:https://help.maruo.co.jp/hidemaru/html/190_CmdSearch_Regular_AfterNomatch.html
前方不一致指定:https://help.maruo.co.jp/hidemaru/html/190_CmdSearch_Regular_BeforeNomatch.html

grep ダイアログで「正規表現」にチェックを入れて
-------------------
hoge(?!Piyo)
-------------------

といった形で検索。

[ ]
RE:40380 秀丸でグレップ検索する際、除外No.40382
Iranoan さん 23/03/18 17:54
 
red9さんこんにちは Iranoan です
> 秀丸でグレップ検索する際、除外キーワードを指定することはできますか?
<snip>
> 検索欄で「hoge -hogePiyo」みたいな指定はできませんか?
できません
前方/後方不一致を使えばある程度カバーできますが、検索キーワードが行頭/行末に
有るときなど不都合なケースが出てくると思います

また仮に
> 例えば、「hoge」を検索したいが「hogePiyo」は除外したい場合には、どういう方
>法がありますか?
といった指定を可能にした場合、「hoge -hogePiyo」自身を検索したい時の指定が煩
雑になり、現実的でないと思います


私がこういった除外をしたい場合は、秀丸では新たなウィンドウ/タブ二結果を出力
できるので、一旦 hoge で検索後に hogePiyo の有る行を削除します
専用のツールなら、hoge の grep 結果をパイプでつないで、再度 hogePiyo の無い
行のみ grep し直します
ただどちらの場合も、両方が含まれる行も除かれるので、それを除きたくないときは、
改めて両方を含む行で grep します

[ ]
RE:40381 秀丸でグレップ検索する際、除外No.40405
red9 さん 23/03/26 11:44
 
回答ありがとうございました。

>正規表現で後方不一致を使うのがいいんじゃないですかね?
>grep ダイアログで「正規表現」にチェックを入れて
>-------------------
>hoge(?!Piyo)
>-------------------
>といった形で検索

・参考になりました

[ ]
RE:40382 秀丸でグレップ検索する際、除外No.40406
red9 さん 23/03/26 11:47
 
回答ありがとうございました。

>秀丸では新たなウィンドウ/タブ二結果を出力できるので、一旦 hoge で検索後に
>hogePiyo の有る行を削除します
・参考になりました

[ ]