【ruby】Rubularで正規表現練習 第二回
前回、Regexの第一回をやったので、今回はその続き!
前回は省いたのですが、基本として、RubyのRegexはスラッシュで囲みます。
たとえば前回の[abc]なら、/[abc]/で正規表現ですよ!という意味になります。
Rubularでは//は省いて書いてOK!
今回はQuick Regex Referenceの二段目をやっていきます
. :Any single character (一文字。どんなものでも)
\s :Any whitespace character(空白文字)
\S :Any non-whitespace character (空白文字以外)
\d :Any digit (数字)
\D :Any non-digit (数字以外)
\w :Any word character (letter, number, underscore) (文字)
\W :Any non-word character (文字以外)
\b :Any word boundary (単語の境界)
1. ドット(.)
Regex: /苗字:../
テストサンプル:
苗字:佐藤
苗字:岸
苗字:小山田
苗字の二文字目までがマッチしています!(一文字だとマッチしない)
2.\s
Regex:/苗字:..\s名前:../
テストサンプル:
苗字:佐藤 名前:和真
苗字:佐藤名前:和真
苗字:佐藤 名前:和真 (全角スペース)
半角スペースが\sの部分で入っているもののみマッチ
3.\S
Regex:/苗字:..\S名前:../
テストサンプル:
苗字:佐藤 名前:和真
苗字:佐藤名前:和真
苗字:佐藤 名前:和真 (全角スペース)
全角スペースは空白文字以外と認識されるのですね!!
4.\d
これは[0-9]とおなじですね!
Regex:/^0[89]0-\d\d\d\d-\d\d\d\d$/
テストサンプル:
080-1234-5678
090-1234-5678
080-1234-567890
080-dogs-cats
5.\D
これは[^0-9]とおなじですね!
Regex:/^0[89]0-\D\D\D\D-\D\D\D\D$/
テストサンプル:
080-1234-5678
090-1234-5678
080-1234-567890
080-dogs-cats
6.\w
英語と数字。日本語や記号はNG
Regex:/氏名:\w\w\w\w/
テストサンプル:
氏名:初音ミク
氏名:1234
氏名:MIKU
氏名:123!
7.\W
英語と数字以外。(日本語や記号、スペースなど)
Regex:/氏名:\W\W\W\W/
テストサンプル:
氏名:初音 ミク
氏名:1234
氏名:MIKU
氏名:123!
8.\b
ここまでで、ひとつの単語だよ!という印。スペースやカンマ(,)、ビックリマークなどで仕切られていたらマッチします
Regex:/\b初音\b/
テストサンプル:
初音 ミク
初音,ミク
ミク初音
ミク!初音
Regex referenceもあと残り、一列!!次回で最終回です ^^
今日はここまで!
おやすみなさいいぃぃぃ