設定内容
自分用メモ。
※随時更新中
デバッグには以下のサイトなどの正規表現解析ツールがオススメ。
Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.
対象の行
テキストエディタでの置換に。
スペース・タブだけの行
\t
の後は半角スペース、全角スペース。
^[\t ]+([\r\n])
何も無い空行
^[\r\n]+
何も無い空行またはスペース・タブのみの行
\t
の後は半角スペース、全角スペース。
^[\t ]*[\r\n]+
スペース・タブの後に任意の単語から始まる行
\t
の後は半角スペース、全角スペース。
デバッグを仕込んだ行の削除などに。
^[\t ]*console\.log\(.*\r\n
HTMLタグ
HTMLタグ全般の除去などに。
<(".*?"|'.*?'|[^'"])*?>
日付形式
yyyy/mm/dd
形式の文字列が1900/01/01~2999/12/31までの歴上日になっているかのチェック。
IM-FormaDesignerのカスタムチェックなどに。
上述の正規表現解析ツールなどにかけるとなかなか面白いよ。
^(?!([02468][1235679]|[13579][01345789])00\/02\/29)(((19[0-9]{2}|2[0-9]{3})\/(01|03|05|07|08|10|12)\/(0[1-9]|[12][0-9]|3[01]))|((19[0-9]{2}|2[0-9]{3})\/(04|06|09|11)\/(0[1-9]|[12][0-9]|30))|((19[0-9]{2}|2[0-9]{3})\/02\/(0[1-9]|1[0-9]|2[0-8]))|((19|2[0-9])([02468][048]|[13579][26])\/02\/29))$
URLのドメイン部分まで
http://hogehoge.com:8080/fugafuga/index.html
などのURLから、http://hogehoge.com:8080
のようにドメイン部分までを抜き出します。
最後の(?=\/)
は「肯定的先読み」で、(?=[pattern])
とすると[pattern]
の直前までが対象になります。これによって、/
までを検索するけど/
自身は対象に含めないようにしています。
また、正規表現はデフォルトで最長一致のため、何もしないとhttp://hogehoge.com:8080/fugafuga
までが対象になってしまいます。そこで、(?=\/)
の前に最短一致の?
を付けることでhttp/https
以降で最初の/
までを対象にしています。
https?:\/\/[\w/:%#\$&\?\(\)~\.=\+\-]+?(?=\/)
全銀使用可能文字チェック
全銀データレコードの使用可能文字チェックです。
以下の半角文字のみの場合にマッチします。
- 数字
0-9
- 英大文字
A-Z
- カタカナ
ア-ン
- 括弧
()
- ピリオド
.
- ハイフン
-
- スラッシュ
/
- スペース
使用可能文字のチェック以外に、否定先読みを使って
- 最初がスペースで始まるパターン
^(?! )
- 最後がスペースで終わるパターン
(?!.* $)
を除外しています。
また、半角カナのパターンを
- カナ1文字(
ヲ
を除く)[ア-ン]
- 濁点付文字
([ウカ-トハ-ホ]゙)
- 半濁点付文字
([ハ-ホ]゚)
に分けて定義することで、ア゚
のようなありえない濁点/半濁点付文字を除外しています。
^(?! )(?!.* $)([ア-ンA-Z0-9\(\)\.\-\/ ]|([ウカ-トハ-ホ]゙)|([ハ-ホ]゚))+$