おバカな正規表現

小文字, 大文字, 数字, 記号の3種類以上を含む文字列にマッチする正規表現

素直にバリデーション関数を作りましょう

小文字とは
[a-z]

大文字とは
[A-Z]

数字とは
[0-9]

記号とは
/*-+.,!#$%&()~|_@[]
[/*\-+.,!#$%&()~|_@\[\]]

小文字, 大文字, 数字, 記号のいずれか
[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]

すべてを含む(肯定先読みの場合)
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[/*\-+.,!#$%&()~|_@\[\]])[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]*$

1. 小文字大文字数字を含む
^(?=.*([a-z]))(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]*$
aaaAAA111
AAA111aaa
111aaaAAA

2. 大文字数字記号を含む
^(?=.*[A-Z])(?=.*[0-9])(?=.*[/*\-+.,!#$%&()~|_@\[\]])[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]*$
BBB222!!!
222!!!BBB
BBB222!!!

3. 小文字数字記号を含む
^(?=.*[a-z])(?=.*[0-9])(?=.*[/*\-+.,!#$%&()~|_@\[\]])[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]*$
ccc333@@@
333@@@ccc
@@@ccc333

4. 小文字大文字記号を含む
^(?=.*[a-z])(?=.*[A-Z])(?=.*[/*\-+.,!#$%&()~|_@\[\]])[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]*$
dddDDD###
DDD###ddd
###dddDDD

1 or 2 or 3 or 4
(^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]*$|^(?=.*[A-Z])(?=.*[0-9])(?=.*[/*\-+.,!#$%&()~|_@\[\]])[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]*$|^(?=.*[a-z])(?=.*[0-9])(?=.*[/*\-+.,!#$%&()~|_@\[\]])[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]*$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[/*\-+.,!#$%&()~|_@\[\]])[a-zA-Z0-9/*\-+.,!#$%&()~|_@\[\]]*$)

Zenfone Max Pro M1でGoogle Cameraを使う (Windows編)

現在Zenfone Max Pro M1 (ZB602KL)をメイン端末として利用している。

www.asus.com

SD636+5000mAh+AOSPで3万円という驚きのコスパの機種で、非常に気に入っているのだが、純正カメラアプリの性能がものすごく悪い。

手ぶれ補正の精度やノイズ処理が弱く、日光下以外で撮影するとブレブレでノイズだらけの写真が量産されてしまう。

いろいろ調べていたら、root化不要で簡単にGoogle Cameraを利用できるする方法を見つけたので、メモとして公開する。

※このリンク先にある機種であれば同じ方法で導入できるかも

https://www.xda-developers.com/google-camera-port-hub/

 

続きを読む

SoftEtherをCentOS7にインストール

VPN環境を構築することを検討している友人にSoftEtherを布教したいので書く

気が向いたら体裁整えます

 

サーバー

CentOS7(x64)

SoftEther VPN Server (Ver 4.28, Build 9669, beta)

 

作業マシン

Windows10(x64)

 

続きを読む

Proxy DHCP + iSCSI(NAS4Free)でディスクレスマシン

週末になると秋葉原でジャンク品のノートPCやサーバーを買ってきたりするのだが、物理マシンが増えてくると問題になるのがHDDなどのストレージの用意

検証のために毎回それを用意するのが面倒になってきたので、iPXEでiSCSIのストレージからブートできるように環境を整えた

PXEを利用するためには通常、PXE対応のDHCPサーバーを用意する必要があるのだが、既存のDHCPサーバーの設定は変更したくなかったため、今回はDNSMasqのProxy DHCP機能を利用した

 

参考ページ

qiita.com

 

基本的には上記のリンク先と同じことをしているが、ディスクの追加を簡単に行えるよう、iSCSIターゲットサーバとHTTPサーバーは、PXE/TFTPサーバーとは別に用意したNAS4Freeサーバーを利用する

続きを読む

VPN接続時のアドレス競合を解決する(pfSense編)

自宅のネットワークアドレスが192.168.1.0/24であるため、この記事で言われている通り、IPアドレスが競合してしまうことが多い

VPN使うなら192.168.1.*や192.168.11.*は避けた方がいい | 天さんは今日もブルー

 

YAMAHAルーターのNAT機能で簡単に解決できそうだったのだが、故障してしまったので今回はpfSenseの1:1NAT機能を使って解決した

 

192.168.201.1~192.168.201.126 = 192.168.1.1~192.168.1.126

このようにアドレス変換を行うことで、192.168.1.0/24のネットワークからアクセスすることが可能になる

続きを読む