0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

正規表現ついて

Posted at

目次

  • 正規表現とは
  • よく使う正規表現の記号一覧
  • {} の基本的な使い方と意味
  • 正規表現の使用例

正規表現とは

正規表現とは、文字列のパターンを表現する方法のことです。
使いこなせば、データ抽出や検索、置換がとても強力になります。

例えば、

  • 「メールアドレスを抽出したい」
  • 「半角数字だけをマッチさせたい」
  • 「特定の単語を一括で置換したい」

といったときに使います。


よく使う正規表現の記号一覧

記号 意味 マッチする文字列
. 任意の1文字 a.c abc, axc などにマッチ
* 直前の文字が0回以上 a* 空文字, a, aa
+ 直前の文字が1回以上 a+ a, aa, aaa
? 直前の文字が0回または1回 a? 空文字, a
[] 指定した文字のどれか1文字 [abc] a, b, c
[^] 括弧内以外の文字1つ [^a] a以外の1文字
| OR条件 abc|def abcまたはdef
() グループ化 (ab)+ ab, abab, ababab
^ 行の先頭 ^abc abcで始まる行
$ 行の末尾 abc$ abcで終わる行
\d 数字(0~9) \d\d 12, 99
\D 数字以外の文字 \D+ abc, !!
\w 英数字(a-z, A-Z, 0-9, _) \w+ abc123, word_1
\W \w以外の文字 \W+ !@#, 空白
\s 空白文字(スペース、タブ、改行など) \s+ ' ', \n
\S 空白文字以外 \S+ abc, 123
\b 単語の境界(単語の前後) \bcat\b cat(単独のときのみ)
\B 単語の境界以外 \Bcat\B concatenate の中の cat
\t タブ文字 \t タブ
\n 改行(LF) \n 改行
\r 改行(CR) \r 改行
\r\n 改行(CRLF) \r\n 改行
\\ バックスラッシュそのもの \\ \
\. ドット(.)を文字として検索 a\.b a.b
\* アスタリスク(*)を文字として検索 a\*b a*b
\+ プラス(+)を文字として検索 c\+d c+d
\? クエスチョン(?)を文字として検索 h\?i h?i
\[ 左角かっこ [ を検索 \[ [
\] 右角かっこ ] を検索 \] ]
\( 左丸かっこ ( を検索 \( (
\) 右丸かっこ ) を検索 \) )
\| パイプ|を文字として検索 a\|b a|b

{} の基本的な使い方と意味

記号 意味 マッチする文字列
{n} ちょうど n 回繰り返す a{3} aaa(aを3回)
{n,} 最低 n 回繰り返す(上限なし) a{2,} aa, aaa, aaaa など
{n,m} n 回以上、m 回以下 a{2,4} aa, aaa, aaaa(2〜4回)

正規表現の使用例

マッチさせたい文字列 マッチする文字列
電話番号 (数字2~4桁)-(数字2~4桁)-(数字4桁) \d{2,4}-\d{2,4}-\d{4}
メールアドレス (英数字と記号5~10桁)@gmail.com ^[\w.%+-]{5,10}@gmail.com$
0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?