よく使う便利な正規表現をメモしておくためのページです。
行頭が特定の文字列から始まらない行を探す
以下のようにすると、「武器」「サポート」「Aスキル」「Bスキル」「Cスキル」という文字列から始まらない行だけを抜き出すことができます。
^(?!武器|サポート|Aスキル|Bスキル|Cスキル).*
行中に特定の文字列が含まれない行を探す
以下のようにすると、「武器」「サポート」「Aスキル」「Bスキル」「Cスキル」という文字列が含まれない行だけを抜き出すことができます。
^(?!.*武器|.*サポート|.*Aスキル|.*Bスキル|.*Cスキル).*
検出したパターンをキャプチャして置換に利用する
以下の文字列を例にします。
a,b,c,
以下のように()で囲んだ範囲で検出された文字列がキャプチャされます。置換後の文字列は以下のように \1、\2、..というようにすると1番目にキャプチャされた文字列、2番目にキャプチャされた文字列を置換文字列に利用できます。
(.*?),
例の文字列に対して以下の文字列を置換後の文字列に利用します。
|\1|,
置換後は以下の文字列になります。
|a|,|b|,|c|,
最初に一致するパターンを検出
以下の文字列から「aaa,」だけを抜き出したいとします。
aaa,bbb,ccc,
以下の正規表現で行頭からカンマまでを抜き出すと「aaa,bbb,ccc,」がヒットしてしまいます。
^.*,
以下のように ? をつけることで最初にマッチしたパターンを検出できるので、最初にマッチした「aaa,」を抜き出せます。
^.*?,