[Web開発] よく使う正規表現まとめ


はじめに

簡単にコーピして使える、よく使う正規表現(個人的)を紹介致します。

英文字(小文字)、数字、 "-"、 "_" のみに構成され、長さは「2~10」

/^[a-z0-9_-]{2,10}$/ 

英文字(大文字小文字)と数字のみに構成

/[a-zA-Z0-9]/

UUID

/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/

ASCIIコード

/[ -~]/

MACアドレス

/^[a-fA-F0-9]{2}(:[a-fA-F0-9]{2}){5}$/

IPアドレス(IPv4)

/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}/

IPアドレス(IPv6)

/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/

e-mail(基本)

/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/

e-mail(RFC5322)

/\b[\w.!#$%&’*+\/=?^`{|}~-]+@[\w-]+(?:\.[\w-]+)*\b/

e-mail(精密)

/(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/

パスワード(最小8文字以上、英文字(大文字小文字)、数字、特集文字, 各最小1つ以上)

 /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/

URL(プロトコル含)

 /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)/ 

URL(プロトコルオプション)

 /(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/ 

HTMLタグ

 /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
 /<\/?[\w\s]*>|<.+[\W]>/ 
 /<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)/

ハイパーリンク

 /(?!<a\sname=\"([\w\s\d\-\.\#]+)\"><\/a>)<a\sname=\"([\w\s\d\-\.\#]+)\">(.*?)<\/a>/

数字のみ

/^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$/

Webサイトハイパーリンク

/<a\s+(?:[^>]*)href=\"((?:https:\/\/|http:\/\/)(?:.*?))">(?:.*?)<\/a>/

数字と英文字(大文字小文字)のみ(空白文字なし)

/^[a-zA-Z0-9]*$/

数字と英文字(大文字小文字)のみ(空白文字あり)

/^[a-zA-Z0-9 ]*$/

英文字(大文字小文字)のみ

/[a-zA-Z]/

年月日(yyyy-mm-dd)

/^(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])$/

備考