LoginSignup
1
2

サクラエディタ コマンド/正規表現メモ

Last updated at Posted at 2021-05-06

ショートカット

アクション コマンド
行複製 Ctrl + I
行削除 Ctrl + E

正規表現

いずれかの一文字を検索。[]

.js
[青紫黄]

image.png

いずれかの一文字以外を検索。[^文字]

.js
1[^A-z0-9]3

「123」は対象外、「1あ3」は対象となる。
[ ]内では¥]以外のメタ文字は普通の文字として扱われる。
ただし、以下2つのメタ文字は[ ]内で意味を持つため誤検索に注意。
^を普通の文字として扱うなら後続に文字が存在しないこと、またはエスケープする。
-を普通の文字として扱うなら前方に文字が存在しないこと、またはエスケープする。

いずれかの文字列を検索。()

.js
(青紫|)

image.png

先頭から任意の単語まで

.js
^.*

先頭から任意の一文字目の単語まで。?で最短一致

.js
^.*?

image.png
^(.*?あ){2}のようにすれば 2番目までを選択できる。最短一致を2回繰り返す

先頭から任意文字の直前まで

.js
^.*(?=)

image.png
注意点:先頭行でヒットした場合、例えば1行が「あい」のみの時、^.*(?=あ)で検索すると先頭の「あ」も黄色くなるが、対象は「あ」の直前の「^」である。置換を行うと行頭に置換文字が挿入される。
「^」だけでも検索すると先頭文字全て黄色くなるが、置換を行うと行頭に挿入となる。
サクラでは「^」と「^あ」は同じ箇所が黄色くなる仕様。

先頭から任意の一文字目の直前まで。?で最短一致

.js
^.*?(?=)

image.png
3行目のsが含まれてしまっているように見えるがサクラの仕様。注意点参照

任意文字列の前方文字。(?=)肯定先読み

先読み系は検索文字列に条件を与えて、検索文字列内の前方一部分のみを置換したいときに使える。

意味
・肯定 先読み=マッチしたいワードを設定し、前方部分が置換対象
・否定 後読み=マッチしたくないワードを設定し、後方部分が置換対象

.js
青紫(?=) //色の直前にある青紫が対象

image.png

.js
(?=青紫色)青紫 //青紫色の先頭から青紫 ⇒ (?=検索したい文字列の先頭を条件指定)検索する文字列

image.png

任意文字列の後方文字。(?<=)肯定後読み

肯定先読みの後方版。

.js
(?<=青紫) //青紫の直後にある色が対象

任意文字列以外の前方文字。(?!)否定先読み

.js
青紫(?!) //青紫の直後に色がないこと

image.png

.js
(?!青紫色)青紫 //青紫色以外の青紫

image.png

任意文字列以外の前方文字。(?<!)否定後読み

否定先読み前方版。

.js
(?<!青紫) //色の直前に青紫がないこと

行に対して検索かつマイナス検索をする

行(^.*$)に対して否定先読みを利用することで可能
※検索とマイナス検索両方に当てハマる場合は、否定先読みでマイナス検索を先に実行しているので、検索にはヒットしない。

.js
^(?!.*マイナスA).*$  //"マイナスA"を行に含まない行を検索。(先頭^の直後に文字列.*マイナスAを含まない行.*$を検索している)
^(?!.*マイナスA).*.*$  //"マイナスA"を行に含まない、かつ、"あ"を含む行を検索
^(?!.*(マイナスA|マイナスB)).*(|).*$  //ワード複数指定なら()を使えばいい、正規表現込みワードや長ワードも()使うと見易くなる

image.png

変数利用置換

()で囲んだ部分を$1に置き換えれる

.js
(a.*b)x


image.png

image.png

前後入替置換

2つ目の()で囲んだ部分を$2に置き換えれる

.js
(a.*z):(b.*x)


image.png

image.png

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2