Help us understand the problem. What is going on with this article?

Regex 正規表現についての学び (基本)

今回はRegex(正規表現)について学んだのでそれについて書いていきたいと思います。

定義された文字

Regexにおいて定義された文字クラスがあります。これらは簡単で重要なので覚えてしまいましょう。

構文 Matches
. 任意の文字 (行末記号とマッチする場合もある)
\d 数字: [0-9]
\D 数字以外: [^0-9]
\s 空白文字:[ \t\n\x0B\f\r]
\S 非空白文字:[^\s]
\w 単語構成文字:[a-zA-Z_0-9]
\W 非単語文字:[^\w]

数量子、繰り返し

構文 Matches
X? X、1 または 0 回
X* X、0 回以上
X+ X、1 回以上
X{n} X、n 回
X{n,} X、n 回以上
X{n,m} X、n 回以上、m 回以下

文字クラス

[]にある文字の中から一つを選ぶと言う意味。よく出てきます。

構文 Matches
[abc] a、b、または c (単純クラス)
[^abc] a、b、c 以外の文字 (否定)
[a-zA-Z] a 〜 z または A 〜 Z (範囲)
[a-d[m-p]] a 〜 d、または m 〜 p:[a-dm-p] 結合
[a-z&&[def]] d、e、f 交差
[a-z&&[^bc]] b と c を除く a 〜 z:[ad-z] 減算
[a-z&&[^m-p]] m 〜 p を除く a 〜 z:[a-lq-z] 減算

境界正規表現エンジン

^something$と言う形でよく使われます。

構文 Matches
^ 行の先頭
$ 行の末尾
\b 単語境界
\B 非単語境界
\A 入力の先頭
\G 前回のマッチの末尾
\Z 最後の行末記号がある場合は、それを除く入力の末尾
\z 入力の末尾

これらが正規表現を学ぶ上で最低限知っておいた方が良いものをピックアップしたものです。
参考にさせていただいた記事にはさらに基本が詳しく書いてあるのでそれも見てみてください。

参考記事

正規表現の基本

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした