RFC 5322に準拠させた正規表現 言語別
RFC5322で定義されている正規表現を、各言語の正規表現に変化させた形になります。 完全な電子メール正規表現は存在しないので、結局のところ何かの公式基準に従っていたとしても、自分が携わるサービスのルールによって使用可能文字のトレードオフが必要になるでしょう。 特にJavaは標準ライブラリが何らかの公式に準拠しているので、無理に正規表現を使わずそちらを使った方がいいと海外のナレッジサイトで昔から書かれています。 公式のRFC5322はこちら。 一般的なRFC5322 公式のEmail正規表現 (RFC 5 ...
Javaの正規表現を使用して有効なメールアドレスを確認する
メールアドレス形式の扱いはサービス単位で異なり、定まっていないので、メールアドレスの妥当性を判定する時に正規表現を使うことが多くなると思います。 基本的にはRFC5321かRFC5322、次点でRFC822に準拠したフォーマットが妥当だとは思いますが、すでに取得されているメールアドレスが存在するため、表記はサービス毎に見直し設定していく必要があります。 標準仕様の問題点は、言わずもがな既に世の中で使われているキャリアのメールアドレスに対応できないことです。 メールサーバの仕様や、携帯キャリアの独自ルールを ...
Androidの音量取得と音量設定
本記事はAndroid 8.0(API 26)以前を想定しています。 Androidアプリを触る際にメディアボリュームの現在値が必要だったのですが、音量取得のAPIを調べていると、何故か多くの場合STREAM_ALARM(STREAM_ALARMはアラームです)の取得サンプルが書かれているのですが、大体の場合取得したいのはメディアボリューム(media volume)だと思います。 メディアボリュームはAudioManager.STREAM_MUSICで取得可能です。 AudioManager audio ...
Android Studioのinstallation failed エラー
Android Studioでパッケージ構成を派手に変更したところ、application installation failedエラーが出るようになったのでエラー対応しました。 Failure [INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME: Invalid manifest package: must have at least one '.' separator] ビルド中にキャッシュが云々という警告と、上記のような警告がで出て困惑… エラーの内容は用はパッケージに階層 ...
Selenium webdriver 指定時間分処理を待たせる [Java]
以前社内で「webdriverは逐次sleepしなきゃいけないからいまいち」と言われたんですが、別に逐次sleepしても良いと思うけどなーと思いつつ、設定値を与えてある程度待たせる方法もあるのでSelenium webdriver Javaで適宜行える方法の記載です。 WebDriverWaitを利用すれば要素出現までの最大秒数まで待機させておくことが可能なので、これを利用してアイテム毎に待機メソッド作成しておくだけです。 WebDriverWaitの第二引数は秒数。 public staticvoid ...



