文学部プログラマー日記

プログラミング学習に関する有益な情報を発信する…はず。

\wと\Wの使い方 Regex(正規表現)攻略!

こんにちは。たかみんです。
一緒に正規表現を攻略しましょう。
このページは「\wと\W」についてまとめたページです。

\wと\Wの使い方

\wはあらゆる半角英字と半角スペースを表すメタ文字です。 そのため、\w\wab kf uなどを表します。

\Wは\w以外を表します。 つまり、「半角英字と半角スペース以外」です。 \W\Wであれば03 4, @.などにヒットします。

リンク

正規表現一覧のページへ

\dと\Dの使い方 Regex(正規表現)攻略!

こんにちは。たかみんです。
一緒に正規表現を攻略しましょう。
このページは「\dと\D」についてまとめたページです。

\d使い方

\dは半角数字を表すメタ文字です。
そのため、0,1,2,3,4,5,6,7,8,9を表します。

abc\deなら、abc3e abc9eなどがヒット。 (abc数字eがヒット)

\Dの使い方

\Dは半角数字以外を表します。 まぁつまり、数字じゃなければ何でもですね。

\D\dなら、k2 ?8などがヒット。 (数字以外と数字)

リンク

正規表現一覧のページへ

SQL攻略5 条件を指定して検索する

こんにちは。たかみんです。
一緒にSQL文を攻略しましょう。
今回は条件を指定した検索についてです。

目次

  1. 条件を指定して検索する
  2. 条件一覧

条件を指定して検索する

条件を指定して、絞り込んで検索する場合はWHEREを使います。

class1というテーブル
id|  name  | sex
1 |田中太郎| m
2 |田中次郎| m
3 |田中花子| f
4 |田中梅子| f
5 |山田太郎| m

SELECT 欲しいデータ FROM テーブル WHERE 条件; 

SELECT * FROM FROM class1 WHERE name = '田中太郎';
(名前が田中太郎のデータを全部持ってきて)
結果
1 田中太郎 m

SELECT * FROM FROM class1 WHERE id>1 and id<=3;
(idが1より大きく3以下のデータを全部持ってきて)
結果
2 田中次郎 m
3 田中花子 f

SELECT * FROM FROM class1 WHERE name LIKE '田中%';
(田中なんとかのデータを全部持ってきて) 
結果
1 田中太郎 m
2 田中次郎 m

条件文一覧

解説 条件文にはいろんなものがあります。
WHERE カラム名の後ろに来る条件一覧です。

条件 意味
= 一致している
> より大きい
>= 以上
< より小さい
<= 以下
<>もしくは!= ではない
AND 条件を「かつ」で繋げる
OR 条件を「または」で繋げる
BETWEEN ~ AND ~ ~と~の間
NOT BETWEEN ~ ANd ~ ~と~の間以外
IN(a,b,c) a,b,cを含む
NOT IN(a,b,c) a,b,cを含まない
LIKE 条件 条件に当てはまる
NOT LIKE 条件 条件に当てはまらない
% 0文字以上が入る(LIKE系と一緒に使う)
_ 1文字ぴったり入る(LIKE系と一緒に使う)

例えば…

SELECT * FROM class1 WHERE name LIKE '田中_郎';
→田中太郎がヒット

SELECT * FROM class1 WHERE name LIKE '%太郎';
→田中太郎と山田太郎がヒット

条件文の後は

条件文が使えるようになったら、次は検索結果の並べ替えを行いましょう。
「アルファベット順」とか「大きい順」とかですね。

リンク

SQL攻略6 検索結果を並べ替える

.と\.の使い方 Regex(正規表現)攻略!

こんにちは。たかみんです。 一緒に正規表現を攻略しましょう。
このページは「.と\.」についてまとめたページです。

.の使い方

.は全ての1文字を表すメタ文字です。そのため、
..はる なつ 13 k3など、あらゆる2文字を表します。

では、a.を表しabを表したくない時は、どうすれば良いのでしょうか。
..では両方とも表してしまいます。

\.とすると、ただのピリオドに(エスケープ)

この時に\.を使います。
\.はただのピリオド.を意味するメタ文字になります。 そのため、
a\.と書けばa.のみヒットし、abはヒットしません。

リンク

正規表現一覧のページへ

SQL攻略4 データを検索する

こんにちは。たかみんです。
一緒にSQL文を攻略しましょう。
今回はデータの検索についてです。

目次

  1. 検索の仕方
  2. 検索の後は

検索の仕方

テーブルからデータを検索するには、SELECT文を使います。

class1というテーブル
id|  name  | sex
1 |田中太郎| m
2 |田中次郎| m
3 |田中花子| f
4 |田中梅子| f

SELECT * FROM テーブル名;

SELECT * FROM class1;
結果
1 田中太郎 m
2 田中次郎 m
3 田中花子 f
4 田中梅子 f

SELECT name, sex FROM class1;
結果
田中太郎 m
田中次郎 m
田中花子 f
田中梅子 f

解説
SELECTの後ろに欲しいカラムを書く。
*を付けると「全部のカラム」という意味になる。

検索の後は

検索ができるようになったら、条件付きの検索を練習していきましょう。 名前に「郎」が含まれる人だけ。みたいな感じです。

リンク

条件つきの検索の仕方

正規表現のまとめ Regex(正規表現)攻略!

こんにちは。たかみんです。
一緒に正規表現を攻略しましょう。
このページは正規表現を全てまとめたページです。

目次

  1. 正規表現とは
  2. 正規表現一覧
  3. それぞれの詳しい説明へのリンク

正規表現とは

正規表現とは「特定の文字列を表示する表現方法のこと」です。
例えば、

[abc]{2}

という正規表現は、
「aかbかcのどれかが2回繰り返されている文字列」を表現しています。
この場合、

「ヒットする」aa, bb, cc, ab, ac, ba, bc, ca, cb
「ヒットしない」a, b, dd, ee, abc

という風になります。

何が便利なの?

我々の世界では全く役に立ちませんが、コンピュータの世界で何か欲しいものをヒットさせるときに役立ちます。

正規表現一覧

正規表現の文字 意味
. 全ての1文字
\. ピリオド
\d 半角数字0123456789
\D 半角数字以外。全角数字とかスペースとか何でも
\w 半角英字と_
\W 半角英字と_以外
\s 空白
\S 空白以外
[abc] aかbかc
[^abc] aとbとc以外
[a-z] aからzまでの半角英字
[A-Z] AからZまでの半角英字
[0-9] 0から9
{2} 直前を2回繰り返す
{2,4} 直前を2~4回繰り返す
* 直前を0回以上繰り返す(=繰り返さなくてもいい)
+ 直前を1回以上繰り返す
? 直前を0~1回繰り返す
^ から始まる
$ で終わる
(abc) abcをかたまりとしてとらえる
(abc|def) abcという塊またはdefという塊

まだありますが、これらが主に使う正規表現だと思います。

それぞれの詳しい説明へのリンク

.と\.について
\d,\Dについて
\w,\Wについて
\s,\Sについて
[abc]と[^abc]について
[a-zA-Z0-9]について
{2},{2,4}について
*,+,?について
^,$について
(abc),(abc|def)について

SQL攻略3 テーブルにデータを入れる

テーブルにデータを入れる方法

テーブルにデータを入れるにはINSERT INTOを使います。
データのことをSQLではフィールドと呼びます。
ここではそのままデータという言葉使います。

INSERT INTO テーブル名(カラム名) VALUES (データ);

INSERT INTO class1 (id, name, sex) VALUES (1, '田中太郎', m);
INSERT INTO class1 (id, name, sex) VALUES (2, '田中次郎', m);
INSERT INTO class1 (id, name, sex) VALUES (3, '田中花子', f);
INSERT INTO class1 (id, name, sex) VALUES (4, '田中梅子', f);

解説
INSERT INTOの後ろに「テーブル名」を書く。
テーブル名の後ろに(カラム名, カラム名, カラム名)
VALUESの後ろに入れたい値を入れる。

以上です!

データの入力ができた後は?

そろそろデータの検索を行いましょう!
SQLの強みは、膨大なデータから欲しいものを取り出すことにあります。
例えば、全ロボットがデータに入っているとして「猫型、青色、アニメ、名前5文字」と条件を入れるとあのロボットが出ますよね?

それを学んでいきましょう!!

リンク

SQL攻略4 データの検索のやりかた