首页 > 代码库 > 网络和常用的正则整理

网络和常用的正则整理

# !/usr/bin/env python
# -*- coding:utf-8 -*-
‘‘‘
__auth__ = jingtongyu
‘‘‘

REGEX_STRING = {
    IP:   r^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}            (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$,
    MASK: r^([0-9]|[12][0-9]|3[0-2])$,
    LOCAL_PREF: r^[1-9]\d*$,
    INT:  r^\d+$,
    PORT: r^(([1-6]?[0-5]?[0-5]?[0-3]?[0-5]?)|            ([1-9]?[0-9]?[0-9]?[0-9]?)|([1-9]?[0-9]?[0-9]?)|([1-9]?[0-9]?)|([0-9]?))$,
    DSCP: r^(([1-6][1-4]?)|([1-5][0-9]?)|([1-9]?))$,
    PASSWORD: r^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[A-Z])(?=.*?[#?!_@$%^&*-]).{8,}$,
    EMAIL: r^[-a-z0-9~!$%^&*_=+}{\‘?]+(\.[-a-z0-9~!$%^&*_=+}{\‘?]+)*@([a-z0-9_][-a-z0-9_]*            r(\.[-a-z0-9_]+)*\.            r(aero|arpa|biz|com|coop|edu|gov|info|            rint|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])
            r|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$,
    USER_NAME: r^[a-z0-9_-]{3,15}$,
    PREFIX: r^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}            r(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\/)([1-2][0-9]|[3][0-2]|[0-9])$
}

if __name__ == __main__:
    import re
    M = re.search(REGEX_STRING.get(IP), 192.168.0.2)
    print M and M.group()
    M = re.search(REGEX_STRING.get(MASK), 12)
    print M and M.group()
    M = re.search(REGEX_STRING.get(LOCAL_PREF), 23)
    print M and M.group()
    M = re.search(REGEX_STRING.get(INT), 12)
    print M and M.group()
    M = re.search(REGEX_STRING.get(EMAIL), jingtongyu@126.com)
    print M and M.group()
    M = re.search(REGEX_STRING.get(USER_NAME), dss)
    print M and M.group()
    M = re.search(REGEX_STRING.get(PASSWORD), testABCWER?2)
    print M and M.group()

 

>>> t = 19:05:30
>>> m = re.match(r^(0[0-9]|1[0-9]|2[0-3]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$, t)
>>> m.groups()
(19, 05, 30)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import re

print(Test: 010-12345)
m = re.match(r^(\d{3})-(\d{3,8})$, 010-12345)
print(m.group(1), m.group(2))

 

网络和常用的正则整理