常用正则表达式收集

本文对常用的正则表达式进行收集和整理。

匹配IP地址

IPv4地址

1
^(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]?)\.(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]?)$

匹配hostname

1
^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

匹配Email地址

1
^(([^<>()[\]\\.,;:\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,}))$

匹配日期和时间

12小时制hh:mm

1
^(1[0-2]|0?[1-9]):([0-5]?[0-9])$

12小时制hh:mm:ss

1
^(1[0-2]|0?[1-9]):([0-5]?[0-9]):([0-5]?[0-9])$

24小时制hh:mm

1
^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$

24小时制hh:mm:ss

1
^(2[0-3]|[01]?[0-9]):([0-5]?[0-9]):([0-5]?[0-9])$

ISO 8601日期和时间格式

1
^(?<year>-?(?:[1-9][0-9]*)?[0-9]{4})-(?<month>1[0-2]|0[1-9])-(?<day>3[0-1]|0[1-9]|[1-2][0-9])T(?<hour>2[0-3]|[0-1][0-9]):(?<minute>[0-5][0-9]):(?<second>[0-5][0-9])(?<ms>\.[0-9]+)?(?<timezone>Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?$