LoginSignup
3
2

More than 5 years have passed since last update.

正規表現

Posted at

正規表現

文字列のパターンを一つの形式でまとめて表現するために使用すること。

フォーラムで与えられるデータに不整合があると面倒くさいので、そういった部分を排除するために使われている。

要するにエラーチェック

正規表現.txt
郵便番号  [678-0041]    [検索]
          [678]-[0041]  [検索]

正規表現の記法

[0-9]{3} - [0-9]{4}

0-9の数字を3回入れる

ハイフンを入れる

0-9の数字を4回入れる

入っていない場合はエラー

ルールの記法的な感じ。

JAVAで記述する場合。

text.java
class Test{
   public static void main(String[] args){

      String strZip = request.getParameter("zip");
      String zipPattern = "[0-9]{3}-[0-9]{4}";

      // コレ大事 上記のルールを適用する。
      Pattern p = Pattern.compile(zipPattern);

      if (p.matcher.(strZip).find()) { //find()で[true/false]を返却値として渡す。
         // 郵便番号の形式
      } else {
         // 入力形式がエラー
      }

   }
}

正規表現

javascriptを使う事によって、フォーカスアウトされたりした時に警告を走らせる事も可能である。

記号 記号の説明
任意の1文字。改行文字は省く
直前の1文字の0回以上の繰り返しと一致
行の先頭 ^(ハット文字)
行の末尾
[ ] カッコ内の任意の1文字と一致、-で範囲指定可能
{ } カッコ内の数値の繰り返し回数を記述する。
直前の表現を0回、または1回繰り返して使う

正規表現の例文

^[a-z]+$

^[A-Z]+$

^[a-zA-Z]+$

電話番号:^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$

{}の範囲指定はカンマ区切り

^ [\w]+ $ : \w 半角英数字

^ \d{3}\- \d{4} $ : \d 郵便局番号

記号は \w \d で記述する。

エスケープ文に関して。

円マーク(バックスラッシュ)で記述する。
基本的に\nが良いと思う。

コンソールで出力する。

①私の名前は山田です。
System.out.println( "私の名前は山田です。" );

②私の名前は"山田"です。
System.out.println( "私の名前は\"山田\"です。" );

END

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2