next

python常用模块----re模块

送分小仙女□ 提交于 2020-11-23 05:41:09
正则表达式就是匹配字符串内容的一种规则。 字符组:   [0123456789] 表示0-9这个范围内的任意一个数字都可以与之匹配,简写为 [0-9]    [a-z] 表示匹配所有的小写字母    [A-Z] 表示匹配所有的大写字母    [0-9a-zA-Z] 表示可以匹配数字和大小写字母 字符:    . 匹配除换行符以外的任意字符    \w 匹配字母或数字或下划线 \W 匹配非字母或数字或下划线    \s 匹配任意的空白符    \S 匹配非空白符    \d   匹配数字    \D 匹配非数字    \n 匹配一个换行符    \t   匹配一个制表符    \b   匹配一个单词的结尾    ^   匹配字符串的开始    $   匹配字符串的结尾    a|b  匹配字符a或字符b    ()   匹配括号内的表达式,也表示一个组    [^...]  匹配除了字符组中字符的所有字符 量词:    *    重复零次或更多次    +    重复一次或更多次    ?   重复零次或一次    {n}   重复n次    {n,}   重复n次或更多次    {n,m}  重复n到m次 转义符\:   在正则表达式中,有很多有特殊意义的是元字符,比如\d和\s等,如果要在正则中匹配正常的"\d"而不是"数字"就需要对"\"进行转义,变成'\\'。  

Dubbo(三):深入理解Dubbo源码之如何将服务发布到注册中心

£可爱£侵袭症+ 提交于 2020-11-23 05:22:57
一、前言   前面有说到Dubbo的服务发现机制,也就是SPI,那既然Dubbo内部实现了更加强大的服务发现机制,现在我们就来一起看看Dubbo在发现服务后需要做什么才能将服务注册到注册中心中。 二、Dubbo服务注册简介   首先需要明白的是Dubbo是依赖于Spring容器的(至于为什么在上篇博客中有介绍),Dubbo服务注册过程也是始于Spring容器发布刷新事件。而后Dubbo在接收到事件后,就会进行服务注册,整个逻辑大致分为三个部分:    1、检查参数,组装URL: 服务消费方是通过URL拿到服务提供者的,所以我们需要为服务提供者配置好对应的URL。    2、导出服务到本地和远程: 这里的本地指的是JVM,远程指的是实现invoke,使得服务消费方能够通过invoke调用到服务。    3、向注册中心注册服务: 能够让服务消费方知道服务提供方提供了那个服务。 三、接收Spring容器刷新事件   在简介中我们提到Dubbo服务注册是始于Spring容器发布刷新事件,那么Dubbo是如何接收该事件的呢?   在我们平常编写provider的接口实现类时,都会打上 @Service注解 ,从而这个标注这个类属于ServiceBean。在ServiceBean中有这样一个方法onApplicationEvent。该方法会在收到 Spring 上下文刷新事件后执行服务注册操作

BZOJ3991:寻宝游戏 (LCA+dfs序+树链求并+set)

丶灬走出姿态 提交于 2020-11-22 07:50:11
小 B最近正在玩一个寻宝游戏,这个游戏的地图中有 N个村庄和 N-1条道路,并且任何两个村庄之间有且仅有一条路径可达。游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然后可以任意在地图的道路上行走,若走到某个村庄中有宝物,则视为找到该村庄内的宝物,直到找到所有宝物并返回到最初转移到的村庄为止。小 B希望评测一下这个游戏的难度,因此他需要知道玩家找到所有宝物需要行走的最短路程。但是这个游戏中宝物经常变化,有时某个村庄中会突然出现宝物,有时某个村庄内的宝物会突然消失,因此小 B需要不断地更新数据,但是小 B太懒了,不愿意自己计算,因此他向你求助。为了简化问题,我们认为最开始时所有村庄内均没有宝物 Input 第一行,两个整数N、M,其中M为宝物的变动次数。 接下来的N-1行,每行三个整数x、y、z,表示村庄x、y之间有一条长度为z的道路。 接下来的M行,每行一个整数t,表示一个宝物变动的操作。若该操作前村庄t内没有宝物,则操作后村庄内有宝物;若该操作前村庄t内有宝物,则操作后村庄内没有宝物。 Output M行,每行一个整数,其中第i行的整数表示第i次操作之后玩家找到所有宝物需要行走的最短路程。若只有一个村庄内有宝物,或者所有村庄内都没有宝物,则输出0。 Sample Input 4 5 1 2 30 2 3 50 2 4 60 2 3 4 2 1 Sample Output

JAVA+SQL实训报告--工资管理系统(详细)

牧云@^-^@ 提交于 2020-11-22 07:48:49
JAVA+SQL实训报告--工资管理系统(详细) 题 目: 系 别: 专 业: 学生姓名: 学 号: 指导教师: 日期: 摘 要 近年来,随着我国信息技术的飞速发展,计算机应用已逐渐渗透到各个领域。在企业管理领域内,计算机的应用已经十分广泛,各种管理机制与企业运作流程都与计算机紧密结合在一起,计算机的应用进一步完善了企业的管理,提高了企业的现代化管理形象。 开发职工工资管理系统的目的就是为了帮助财务部门能更好地管理本单位的职工工资,提高工作效率,实现职工工资信息管理的规范化和自动化。 本员工工资管理系统使用JAVA语言编写,采用SQL Server作为数据库,实现了一般工资管理系统对员工工资信息的浏览、删除、修改、查询和统计分析功能,节省了大量的人工操作的工作量,自动完成众多的信息处理,减少了数据出错的几率,加强了工资记录的安全性和完整性。 关键词:工资管理;统计分析;SQL Server;JAVA Abstract In recent years, with the rapid development of information technology in China, computer application has gradually penetrated into various fields. In the field of enterprise management,

JDBC---后端服务器与数据库交互的桥梁

我是研究僧i 提交于 2020-11-22 07:18:53
Java 数据库连接技术:通过 Java 程序从数据库中把相应的数据提取到 java 程序中 1.JDBC 概念 2. JDBC 的步骤 1) 导入数据驱动 jar 包 ① 右键项目名称 / 新建一个文件夹 folder ,名字叫 lib ② 把 *.jar 包 copy 到 lib目录下 ③ 右键 * .jar/Build path/Add Build Path 把 *.jar加入到项目构建路径中 2) JDBC 执行过程 通过反射类加载 classforname ()把 mysql 提供的驱动类注册到 java 里面去 3) JDBC -CRUD 操作 ① insert 、 update 、 delete 语句执行过程一样 ② select 语句需要处理 Result Set结果集 ③ 资源的关闭流程 在 try…cathc…finally中确保所有的资源都去关闭一次,关闭顺序,后进来的先关闭 3. ResultSet 数据 元数据:描述数据的数据 Mysql 默认数据:用来存储和描述用户创建的数据信息(元数据库) 对 rs 结果集进行描述的相应数 getColumnClassName(): 包路径 getCatalogName(): 数据库的名字 getColumnCount(): 列数 getColumnLabel():id getColumnName():sid

SpringBoot入门(一)——开箱即用

◇◆丶佛笑我妖孽 提交于 2020-11-22 07:00:48
本文来自 网易云社区 Spring Boot是什么 从根本上来讲Spring Boot就是一些库的集合,是一个基于“约定优于配置”的原则,快速搭建应用的框架。本质上依然Spring,在这之上帮我们省去了很多样板化的配置,使得我们能够更专注于应用程序功能的开发。 Spring Boot精要 SpringBoot将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心 自动配置:针对常见的应用功能,SpringBoot自动提供相关的配置,减少用于样板化配置的时间 起步依赖:指定基于功能的依赖,用更大粒度的依赖来降低依赖的复杂度 命令行界面:这是SpringBoot的可选特性,借此你只需要写代码就能完成完整的应用程序,无需传统项目构建 Actuator:让你能够深入运行中的SpringBoot应用程序一探究竟 从Spring开始 为了体现SpringBoot的优势,我们先来看看如果使用Spring开发一个简单的Hello World Web应用程序,我们需要做的事情: 一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构件文件,最起码要有Spring MVC和Servlet API这些依赖 一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring的DispatcherServlet

c语言----实战植物大战僵尸

帅比萌擦擦* 提交于 2020-11-22 04:03:55
1. 原理   通过指针先找到阳光的地址,然后修改地址对应的值即修改阳光值。 2. 工具   CheatEngine --- 查询进程中变量的地址   Dll注入工具 ----- 注入   VS2017 3. 实战   (1) 现在阳光地址为50,收集一个阳光后变为75   (2) 打开CheatEngine 点击file -> open process -> 找到植物大战僵尸 Plant vsZombies     (3) 将现在的阳光值75(你的可以是其他的数字)输入进去 ->点击first scan (or new scan)        (4) 消耗一次阳光,现在我的阳光值为25     (5)将现在的阳光值25再次输入进去,点击next scan,现在找到了一个唯一的变量地址 --- 阳光  也就是说对于数据地址的查找,基本两次就可以确定其地址(如果还是有多个地址,多次改变阳光的值,直到只有一个地址)     (6) 打开VS2017,创建一个新项目,并且将项目的类型设为dll _declspec(dllexport) void go(){ int *p = 0x20EEE160 ; //刚刚查询到的变量地址 if (*p< 100 ){ *p += 99 ; //如果阳光值小于100 加99个阳光 } }     (7) 生成解决方案     (8)打开dll注入工具

树链剖分详解

放肆的年华 提交于 2020-11-22 00:49:50
转载请注明出处,部分内容引自 banananana大神的博客 别说你不知道什么是树 ╮(─▽─)╭( 帮你百度一下 ) 前置知识:  dfs序  线段树 先来回顾两个问题: 1,将树从x到y结点最短路径上所有节点的值都加上z 这也是个模板题了吧 我们很容易想到,树上差分可以以O(n+m)的优秀复杂度解决这个问题 2,求树从x到y结点最短路径上所有节点的值之和 lca大水题,我们又很容易地想到,dfs O(n)预处理每个节点的dis(即到根节点的最短路径长度) 然后对于每个询问,求出x,y两点的lca,利用lca的性质distance ( x , y ) = dis ( x ) + dis ( y ) - 2 * dis ( lca )求出结果 时间复杂度O(mlogn+n) 现在来思考一个bug: 如果刚才的两个问题结合起来,成为一道题的两种操作呢? 刚才的方法显然就不够优秀了(每次询问之前要跑dfs更新dis) 树链剖分华丽登场 树剖是通过轻重边剖分将树分割成多条链,然后利用数据结构来维护这些链(本质上是一种优化暴力) 首先明确概念: 重儿子:父亲节点的所有儿子中子树结点数目最多(size最大)的结点; 轻儿子:父亲节点中除了重儿子以外的儿子; 重边:父亲结点和重儿子连成的边; 轻边:父亲节点和轻儿子连成的边; 重链:由多条重边连接而成的路径; 轻链:由多条轻边连接而成的路径;

2020年关于sublime text3 最新最全的激活、安装插件教程

守給你的承諾、 提交于 2020-11-22 00:25:42
前言介绍 写者是一个刚刚接触Web前端的小白,在学HTML时安装其IDE费了好多功夫,看了很多博客帖子,发现很少有最新的关于sublime text3的教程,所以在此写下sublime text3的激活、安装插件的教程。 教程篇 激活篇 首先软件的下载就不说了,直接搜索官网下载即可,安装过程一路next,这样软件就安装好了,也能使用。但是,这时你的软件并没有激活,激活需要在官网购花80美刀买注册码,我也是后来才知道的,你会发现未激活的软件顶部会有unregistered(未注册)。作为初学者我们当然选择白嫖: 首先可以查看我们软件的版本号: 菜单栏->help->about sublime text,可以查看到你安装的软件版本,一般从官网下载的都是最新的,网上有很多教程局限于版本,但不要怕本教程不受限制。 注册码(软件激活码): 激活软件很简单,只需要输入有效的注册码即可完美激活,但如果按照网上的教程操作,却出现下图所示的问题,软件依然没有激活。 ​ ! 激活失败 改hosts: 百度hosts文件的位置,用记事本或者notepad++打开编辑。加上下面这段代码: 127.0.0.1 www.sublimetext.com 127.0.0.1 sublimetext.com 127.0.0.1 sublimehq.com 127.0.0.1 license.sublimehq

201871010123-吴丽丽《面向对象程序设计(Java)》第十二周学习总结

梦想与她 提交于 2020-11-22 00:21:56
201871010123-吴丽丽《面向对象程序设计(Java)》第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11867214.html 作业的学习目标 (1) 掌握Vetor、Stack、Hashtable三个类的用途及常用API; (2) 掌握ArrayList、LinkList两个类的用途及常用API; (3) 了解java集合框架体系组成; (4) 掌握Java GUI中框架创建及属性设置中常用类的API; (5) 了解Java GUI中2D图形绘制常用类的API; 第一部分:总结第九章、第十章理论知识 第九章 集合 一、JAVA的集合框架 ●JAVA的集合框架实现对各种数据结构的封装。 ●所谓 框架 就是一个类库,框架中包含一些通用接口和超类,编程者实现这些接口或创建这些超类的子类就可方便的设计程序所需的类。 ●集合(或称为容器)是一类包含多个元素并提供对所包含元 素操作方法的类,其包含的元素可以由同-类型的对象组成,也可以由不同类型的对象组成。 ●集合框架: JAVA集合类库的统一 架构。. 图形说明: 1.所有集合类都位于 java.util 包下。Java的集合类主要由两个接口派生而出: