0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

正規表現まとめ 学習記録

Last updated at Posted at 2019-11-29

#メタ文字
. 改行を除く任意の文字列
\ メタ文字のエスケープ

#文字種
\d 0-9
\D \d以外

\w a-z,A-Z,0-9,_
\W \w以外

\s スペース、タブ、改行
\S \s以外

#量指定子
{n} n個
{min,max} min以上 max以下
{min,} min以上

? {0,1}

  • {1,}
  • {0,}

01-2345-6789
0123456789
TEL01-2345-6789
T0123456789

上記の全部の検索に引っ掛けたい時の例
\w*\d{2}-?\d{4}-?\d{4}

1番短い文字列にマッチさせる
"apple","orange","grape"
".+"だと全てを1つの文字列として選択してしまうので
".+?"のように量指定子の後に?を追加すると短い文字列にマッチさせる

#アンカー 位置を指定する
\A 始まりを指定
\z 終わりを指定
^ 行の先頭を指定する
$ 行の末尾を指定する
\b 単語の境界を指定する

#選択子
| → or

example.com
example.net
を両方検索で引っ掛けたい時
example.com|netだと後者はnetしか引っ掛からないので、
example.com|example.net または example.(net|com)とする

#文字クラス
[]を使う
[abc] a,b,cのどれか1文字という意味になる

##文字クラス内のメタ文字
^
[^c]とすると否定の意味になり、c以外の文字という意味になる []の直後のみ

[A-F] ABCDEFといった範囲指定の意味
※ただし、文字コードには順番があり、遡っての指定はできない

#改行とタブ
\t タブ
\r\n 改行 Windows
\r v9までのMacOS
\n 改行 v10以降のMacOS、Unix
全てを選択したい場合は
\r\n|\r|\n

#キャプチャ
()
$1,$2,.... ()に保存した文字を取り出して置換で使うことができる

google,https://google.com 
という文字列があった場合
(.+),\s?(.+)で検索し、
<a href="$2">$1</a>で置換することによって
<a href="https://google.com">google</a>になる

#後方参照
3,7,3,3,4,5,5,6,9,8
で連続した数字の時だけ検索したい場合
(\d),\1としてキャプチャしたものを\1などして使う

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?