0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

正規表現メモ

Last updated at Posted at 2018-12-20

設定内容

自分用メモ。
※随時更新中

デバッグには以下のサイトなどの正規表現解析ツールがオススメ。
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\(\)\.\-\/ ]|([ウカ-トハ-])|([-]))+$

参考にさせていただいたページ

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?