スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Prev.    Category    Next 

Step by step 正規表現入門 - まとめ

今まで出てきたルールを簡単にまとめておきます。

正規表現ルール

英数字、 _ はそのまま

英数字や _ は文字そのものに相当します。
記号でメタ文字となる場合は、前に \ を付けます。

任意文字と繰り返し

メタ文字 繰り返し
. 任意の文字
* 0 回以上繰り返し
+ 1 回以上繰り返し
? 0 回または 1 回

マッチ例:
a*bc → abc, aabc, bc
a+bc → abc, aabc (bc はマッチしない)
jpe?g → jpg, jpeg

文字クラス []

[] は内部のどれかにマッチする文字となります。
また、 - で範囲指定、 ^ で否定となります。

マッチ例:
[SG]et → Set, Get
[a-d]  → a, b, c, d
[a-z]  → 小文字のアルファベット a ~ z
[^acd-f] → b, g など

グルーピング

言語やエディターの置換でマッチ文字列の取得する場合には ( ) を使ってグルーピングします。
パターンの複数指定をする場合にはさらに | と組み合わせます。

マッチ例:
(Error|Warning)     → Error Warning
\.(png|gif|jpe?g)$  → .png .gif .jpeg .jpg

文字種別

文字クラスでかけるのですが、 これを簡単に書くために文字種別を指定するメタ文字があります。
メタ文字 意味 対応する文字クラス
\w 単語。英数字と _(アンダーバー) [a-zA-Z0-9_]
\d 数字 [0-9]
\s 空白文字(スペース、タブ、改行) [ \t\r\n]
\W, \D, \S のように文字を大文字にするとそれぞれの文字種以外文字となります。

位置指定

foo を検索したい場合、 そのままでは barfoo や foobar のような文字にもマッチしてしまいます。 こういった場合に位置指定のメタ文字を使います。
メタ文字 意味
^ 行頭
$ 行末
\b 単語境界
< 単語の先頭
> 単語の末尾

言語、アプリ別一覧

正規表現は Perl 互換のものがよく使われます。 前節の説明はそちらでしています。
言語やアプリによって変わってくるのもあるので、対象別にまとめました
機能 Perl (K2Editor) grep Emacs Visual Studio 秀丸エディター
任意文字 . . . . .
0 回以上繰り返し * * * * *
1 回以上繰り返し + + + + +
0 回または 1 回 ? ? ?   ?
文字クラス [ ] [ ] [ ] [ ] [ ]
グルーピング ( ) | \( \) \| \( \) \| ( ) | ( ) |
グルーピング(マッチ文字取得) ( )   \( \) { } ( )
単語 \w   \w ※1 :a ※1 \w
数字 \d     :d \d
空白 \s   \sスペース :b \s
行頭 ^ ^ ^ ^ ^
行末 $ $ $ $ $
単語境界 \b       \y
単語先頭、末尾   \< \> \< \> < > < >
※1 : _(アンダーバー)は含みません。

次は ?

以上で正規表現の入門は完了です。
ここで紹介したルールで結構使っていけると思います。

ただし、正規表現のすべてのルールについて説明したわけではありません。
このほかにも使用頻度は低いですが、 繰り返し回数の指定やものぐさマッチのメタ文字など知っておくと便利なものはあります。

今後は必要になった時にさらに言語やアプリのドキュメントを見て、ルールを増やしていってください。

以下に、使い方を紹介したエディターの正規表現の詳細ページを上げておきます。
関連記事
スポンサーサイト
Prev.    Category    Next 

Facebook コメント


コメント

コメントの投稿

Font & Icon
非公開コメント

このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
15位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
2位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

09月 | 2017年10月 | 11月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。