网络和常用的正则整理

# !/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])(?=.*?[#[email protected]$%^&*-]).{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|‘            r‘int|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‘), ‘[email protected]‘)
    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))
时间: 2024-10-06 15:33:04

网络和常用的正则整理的相关文章

基于.net平台常用的框架整理(转载)

转自:http://www.cnblogs.com/hgmyz/p/5313983.html#!comments 基于.NET平台常用的框架整理 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继续补充这篇日志,日积月累,就能形成一个自己的组件经验库. 分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memc

基于.NET平台常用的框架整理 [转]

基于.NET平台常用的框架整理[转] 原文地址:http://www.cnblogs.com/hgmyz/p/5313983.html 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继续补充这篇日志,日积月累,就能形成一个自己的组件经验库. 分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memcahed:

常用git命令整理

花了一点时间来熟悉和整理git常用命令. 推荐的git学习资料:1.搜“Git Community Book 中文版.pdf”,git社区书,内容全面且简明扼要,第一推荐2.搜“Git权威指南.pdf”,国内一高人写的,非常细致深入,各种解释说明.不过,也太厚了点,可以作为文档查询3.ProGit,在这里读“http://git-scm.com/book/zh”,写得非常好,可选前面几章作为初学.但内容不足够我先扫了3的某几章,然后看1,基本足够.偶尔查询一下2. 感觉图形化的版本变迁图非常重要

Android--新手必备的常用代码片段整理(二)

收集设备信息用于信息统计分析 是否有SD卡 动态隐藏软键盘 动态显示软键盘 动态显示或者是隐藏软键盘 主动回到Home后台运行 获取状态栏高度 获取状态栏高度标题栏ActionBar高度 获取MCCMNC代码 SIM卡运营商国家代码和运营商网络代码 返回移动网络运营商的名字 返回移动终端类型 判断手机连接的网络类型2G3G4G 判断当前手机的网络类型WIFI还是234G 收集设备信息,用于信息统计分析 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Linux Centos6.x 下常用查询命令整理

Linux Centos6.x 下常用查询命令整理 ---- 1.系统基本信息 ---- 查看 系统版本 cat /etc/redhat-release [[email protected] ~]# cat /etc/redhat-release CentOS release 6.9 (Final) 查看 处理器架构 arch 或 uname -m [[email protected] ~]# arch x86_64 [[email protected] ~]# uname -m x86_64

一些Python常用库的整理收藏

一些Python常用库的整理收藏 转载自:https://zhuanlan.zhihu.com/p/21563130 另外 https://awesome-python.com/#data-analysis 网站上也分类好了很多常用的库. GUI 图形界面 Tkinter : Tkinter wxPython: wxPython PyGTK: PyGTK PyQt: PyQt PySide: PySide Web框架 django: django web2py:web2py flask: fla

Linux命令:网络配置常用命令

网络配置常用命令简介:    在Linux中网络属于内核的功能 1. 执行命令生成地址:(执行后立即生效,服务重启后失效) RHEL5: /etc/modprobe.conf  RHEL6: /etc/udev/rules.d/70-persistent-net.rules  alias ifconfig [ethX]     -a: 显示所有接口的配置住处      ifconfig ethX IP/MASK [up|down]     配制后立即生效,重启后网络服务或主机失效 网络服务:  

linux 网络编程常用函数及流程

一.网络编程之TCP流程 服务端:socket---bind---listen---while(1){---accept---recv---send---close---}---close 客户端:socket----------------------------------connect---send---recv-----------------close 二.网络编程常用函数 服务器端: 头文件包含: #include<sys/types.h> #include<sys/sock

常用js方法整理common.js

项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data: data, dataType: 'json', success: ok, error: error }); } h.post = function (url, data, ok, error) { $.ajax({ url: url, data: data, type: 'post', data