サクラエディタで、ある特定の文字や単語を含む行を削除する方法【正規表現】 | よぼろぐ よの冒険記
\ w +) *@ \ w + ([ -. ] \ w +) * \. \ w + ([ -. ] \ w +) * $; #Emailアドレス ( s)? : \ / \ / [ ^ \ * \? \ < \ > \ | \ r \ n] +; #インターネットURL(簡易)※使用不可文字を省いているだけ、空白や日本語OK check ○:: // www. amazon. co. jp / check ○:: // www. jp / てすと 頁 / test page: 8080 / [ A - Z]: \\ [ ^ \ * \? \ < \ > \ | \ r \ n] +; #ドライブパス(使用不可文字だけ否定) \\\\ [ ^ \ * \?
【サクラエディタ】行頭/文末に文字列を挿入する
2008年8月22日(金) 22時12分58秒 [ コンピュータ] テキストエディタの EmEditor では、文字列の検索や置換処理に 正規表現 が使えます。これを使うと、HTMLソースやプログラムソースなどからコメント部分を一気に削除するとか、行末の不要な空白を一括削除するとかの処理が一発でできて便利です。 コメント部分を一気に削除 「 /* 」と「 */ 」で挟まれた部分がコメントで、そのコメントをすべて削除したい場合は、検索文字列として以下のように正規表現を書けばOK。 /\*. 【サクラエディタ】行頭/文末に文字列を挿入する. *\*/ 置換文字列を空欄にして実行すれば、コメント部分が綺麗さっぱり一括削除できます。コメント部分にどんな文字列が含まれていても問題ありません。 正規表現で「 * 」記号は「0回以上」を表す特別な記号ので、「 /* 」や「 */ 」という文字列を表すには「 /\* 」や「 \*/ 」と記述する必要があります。また、「. 」(ドット)記号は任意の1文字を表すので、「. * 」で任意の文字列を表せます。つまり正規表現「 /\*. *\*/ 」は、「 /* 」と「 */ 」に挟まれた任意の文字列全体を示します。これを空文字列と置換することで、削除することになります。 無駄な行末の空白文字を一気に削除 行末の無駄な空白を取り除きたい場合は、検索文字列として以下のように正規表現を書きます。 \s+\n 「 \s 」は空白1文字を表して、「 \n 」は改行を表します。「 \s+ 」は空白が1回以上続く文字列を表します。「 \s+\n 」は空白が1回以上連続した後に改行されている箇所を示します。 そして、置換後文字列として以下のように改行だけを書きます。 \n これで、「空白が1回以上連続した後に改行されている箇所」(=行末の空白)が、ただの「改行」に置換されるため、行末の不要な空白文字を取り除くことになります。 文字列の処理には正規表現が激しく便利ですね。 私の場合、Perlでプログラミングしていなかったらたぶん正規表現(の基礎)を覚えることはなかったと思うんですけど、プログラマでなくても正規表現は知っておくと便利かも知れません。
準備(サクラエディタのインストール) 今回紹介する手順では、サクラエディタを使用しますので、下記手順に沿って事前にインストールをお願いします。インストールは非常に簡単なのでご安心を。 サクラエディタのインストール(ダウンロード)手順とサクラエディタでできること サクラエディタの正規表現で置換とは Wikipediaによると、正規表現とは「文字列の集合を一つの文字列で表現する方法の一つ」である、とのことです。難しいですね。 正規表現 (せいきひょうげん、 英: regular expression )とは、 文字列 の集合を一つの文字列で表現する方法の一つである。 参考: 正規表現 - Wikipedia 例えば、「2019年11月、2019年12月、2020年01月、2020年02月」の4個の文字列をひとつの文字列として「20(19|20)年[0-9]+月」で表現できます。ほかにも「20?? 年?? 月」などいくつかの表現パターンが考えられます。このように、複数の文字列をひとつの文字列として表現することができるのが正規表現です。なんでこんなにもややこしい文字列を使ってでも正規表現を使いたいかというと、文字列の検索や置換をするときに、複数の文字列を何度も検索するよりも、一発で複数の文字列を検索出来たほうが便利だからですね。 そもそもどうやって置換すればいいのか、どうやって正規表現を使えばいいのか、全く何もわからないけど、とりあえず便利っぽいから使ってみたい!という方は、まずはこちらをご覧になっていただくと良いかと思います。正規表現を使って置換する方法を順を追って説明しています。 Tab置換(タブ置換) ~大量の文字列結合・分解を一発で~ いますぐ使える正規表現リスト リスト 正規表現 備考 タブ(TAB)置換 \t タブ(TAB) Tab置換(タブ置換) 改行置換 \r\n 改行 ワイルドカード. * 例)「AA. *」AAを含む以降の文字すべて 「. *BB. *」BBを含む行の文字すべて ワイルドカード置換 エスケープ文字(退避) \ 例)「\*」*を*という文字として扱う エスケープ文字 否定 AAを含まない行 ^((?! AA). )*$ ・AAの文字列を変更して使用 例)赤字の箇所が置換対象 AA AACCBBCCAA ABBACCDD CCAB 否定、含まない AAまたはBB AA or BB (or条件) (AA|BB) ・AA、BBの文字列を変更して使用 ・| の追加により条件を追加可能 AA CC BB CC AA A BB ACCDD 「OR・または・複数条件」の検索方法 AAかつBB AA and BB (and条件) ^(?