未来電子テクノロジーでインターンをしているtokky08です。
初めてRegexについて勉強したのでアウトプットとして書いていきます。
プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。
#Regexって何?
情報系の学部ですがRegexについて初めて勉強しました。聞いたこともないし、見たこともありませんでした。では、Regexとは何かということで、「いくつかの文字列を一つの形式で表現するための表現方法」のことを指します。とりあえず例を見ていった方が早いと思います。
#正規表現の書き方
文字 | 説明 |
---|---|
\t | タブ |
\r | 改行 |
\n | 改行 |
\d | 数字(0-9) |
\D | 数字意外 |
\s | 空白文字 |
\S | 空白文字以外 |
\w | アルファベット・アンダーバー・数字 |
\W | アルファベット・アンダーバー・数字意外 |
. | 任意の一文字 |
+ | 直前の文字を1回以上繰り返す |
* | 直前の文字を0回以上繰り返す |
? | 直前の文字を0または、1回繰り返す |
{n} | 直前の文字をn回繰り返す |
{x,y} | 直前の文字をx以上y以下繰り返す |
{x,} | 直前の文字をx以上繰り返す |
{,y} | 直前の文字をy以下繰り返す |
^ | 行の先頭 |
$ | 行の末尾 |
[a,b,c] | aまたはbまたはc |
[^a,b,c] | a,b,c以外 |
ざっとこのような書き方があります。
#具体的な例
[0-9]{3}-[0-9]{4}
一致結果例
123-4567
098-1234
412-5237
home/desktop/regex/index.txt
上記ディレクトリパスのみに一致するように指定を行う。
^.*/
#まとめ
正規表現は膨大なデータを扱うときに便利なことが分かりました。
覚えることは多いですが、実際に実践的に使っていきたいですね。