LoginSignup
4
6

More than 3 years have passed since last update.

正規表現の使用事例

Last updated at Posted at 2020-07-25

プロジェクト中使っていた正規表現を整理する。

  • メールアドレスのチェック
メールアドレスのチェック.cls
'^[a-zA-Z0-9!#%&*+\\-\\./=?_`{|}]*@[a-zA-Z0-9\\-\\.]*$'
  • 半角文字チェック
半角文字チェック.cls
'[ -~。-゚]'
  • 半角英数記号
半角英数記号.cls
'[a-zA-Z0-9!-/:-@ -/:-@-~]'
  • 半角カタカナ
半角カタカナ.cls
'[ヲ-゚]'
'[\\uff61-\\uff9f]'
  • 全角ひらがな
全角ひらがな.cls
'[ぁ-んー]'
  • 全角カタカナ
全角カタカナ.cls
'[ァ-ンヴー]'
  • 郵便番号形式チェック
郵便番号形式チェック.cls
'[\\d{3}-\\d{4}]'
  • パスワードチェック 半角英数字、特殊記号12桁
パスワードチェック.cls
'^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z])(?=.*[!"#$%&'()\-^@[;:],./\|`{+*}<>?_])[a-zA-Z0-9!"#$%&'()\-^@[;:],./\|`{+*}<>?_]{12}$'
  • 第1、第2水準以外の文字チェック[亜-黑]
第1、第2水準以外の文字チェック.cls
String value = 'テスト文字列';
// 指定文字コードに変換
String encode = EncodingUtil.urlEncode(value, 'ISO-2022-JP');
String decode = EncodingUtil.urlDecode(encode, 'ISO-2022-JP');
// 変換前後で比較
if (value != decode) {
    //変換失敗
    return false;
}
  • 整数部5桁・小数第2位までの小数または整数
整数部5桁・小数第2位までの小数または整数.cls
'^([1-9][0-9]{0,4}|0)(\\.[0-9]{1,2})?$'
  • カナ文字数チェック(濁点、半濁点は1文字になります)  以下の全角カナ濁点分離処理が必要
全角カナ濁点分離.cls
['ガ','カ゛']
['ギ','キ゛']
['グ','ク゛']
['ゲ','ケ゛']
['ゴ','コ゛']
['ザ','サ゛']
['ジ','シ゛']
['ズ','ス゛']
['ゼ','セ゛']
['ゾ','ソ゛']
['ダ','タ゛']
['ヂ','チ゛']
['ヅ','ツ゛']
['デ','テ゛']
['ド','ト゛']
['バ','ハ゛']
['ビ','ヒ゛']
['ブ','フ゛']
['ベ','ヘ゛']
['ボ','ホ゛']
['パ','ハ゜']
['ピ','ヒ゜']
['プ','フ゜']
['ペ','ヘ゜']
['ポ','ホ゜']
  • すべて○○ですかの表現
すべて○○ですか.cls
'^[正規表現式]+$'
  • ○○が含まれているか
○○が含まれているか.cls
'.*[正規表現式]+.*'
4
6
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
4
6