模式匹配

1、RabbitMQ的简单使用

半腔热情 提交于 2019-11-30 21:13:45
1、AMQP AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级 消息 队列协议,是 应用层 协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/ 中间件 不同产品,不同的开发语言等条件的限制。 Erlang 中的实现有 RabbitMQ 等。 2、RabbitMQ 1、Erlang语言 Erlang是一种 通用的并发程序设计语言 ,它由乔·阿姆斯特朗(Joe Armstrong)在瑞典电信设备制造商爱立信所辖的计算机科学研究室开发,目的是创造一种可以应付大规模开发活动的程序设计语言和运行环境。Erlang于1987年发布正式版本,最早是爱立信拥有的私有软件,经过十年的发展,于1998年发表开放源代码版本。 Erlang是运作于虚拟机的解释型语言,但是现在也包含有乌普萨拉大学高性能Erlang计划(HiPE)[3]开发的原生代码编译器,自R11B-4版本开始,Erlang也支持脚本方式执行。在编程范型上,Erlang属于多重典范编程语言,涵盖函数式、并行及分布式。循序运行的Erlang是一个及早求值, 单次赋值和动态类型的函数式编程语言。 2、消息队列(Message Queue) 在计算机科学中,消息队列(英语:Message queue

JAVA正则表达式 Pattern和Matcher

徘徊边缘 提交于 2019-11-30 19:04:35
java.util.regex 是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher 。 Pattern: 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher: 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。 以下我们就分别来看看这两个类: 2.Pattern类: Pattern的方法如下: static Pattern compile(String regex) 将给定的正则表达式编译并赋予给Pattern类 static Pattern compile(String regex, int flags) 同上,但增加flag参数的指定,可选的flag参数包括:CASE INSENSITIVE,MULTILINE,DOTALL,UNICODE CASE, CANON EQ int flags() 返回当前Pattern的匹配flag参数. Matcher matcher

Bash基础

☆樱花仙子☆ 提交于 2019-11-30 15:12:05
基础 read、array、declare/typeset 的使用 read 用于在console获取用户输入,在脚本执行中与用户进行交互,使用方法如下: read -p '确定格式化硬盘吗?(y/n):' confirm echo $confirm 参数: -p:显示的输入提示 -t:等待时间,如果超时,叫忽略用户输入,以空输入作为变量值 array 定义: var[0]=0 var[2]=2 使用: echo ${var[0]} Tips:允许稀疏数组存在 declare/typeset 用于指定变量数据类型,语法如下 declare [-aixr] variable 参数含已解释: -a:定义类型为数组 -i:定义类型为整数 -x:转换变量为环境变量 [+x语法可以用于取消导出] -r:设置readonly -p:显示当前变量的定义情况[理解为输出定义当前变量的字符串] 举个栗子: # 默认为字符串类型 sum=100+200 echo $sum >> 100+22 declare -i sum=100+200 echo $sum >> 300 # 取消导出的环境变量 sum=100 # 导出环境变量 declare -x sum # 取消导出 declare +x sum # 多个参数连用 declare -ixr sum="300" //

数据结构——KMP(串)

喜夏-厌秋 提交于 2019-11-30 13:31:48
KMP一个非常经典的字符串模式匹配算法   先来说说 KMP 的历史吧。 一、背景      KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度度O(m+n)。KMP也可以处理最重复长子串问题,最长子串问题……这里挂一道最简单的题leetcode的 实现 strStr() ,大家看完可以去试一试。 补充说明:    强调两个概念: 真前缀 ,真后缀     如图所示,所谓的真前缀,就是在指在除了自身之外的全部字符串的头部顺序组合;而"真后最",就是指在除自身之外的一个字符串的全部尾串的顺序组合 。与后缀、前缀不同:              真前/后缀不包含自身字符!!! 二、朴素字符串匹配算法   其实就是我们最开始的时候写的字符串匹配,就是两个字符串逐一匹配。不作详细介绍,代码如下 /** * @brief 朴素字符串匹配 * @note * @param MainString: 主串 * @param Pattern: 模式串 * @retval */ int

Django-URL路由系统

我的梦境 提交于 2019-11-30 13:19:27
目录 1.URL配置 1.1基本格式   1.2参数说明  2.正则表达式详解 2.1基本配置 2.2注意事项 2.3补充说明 3.分组命名匹配 3.1URLconf 使用命名组: 3.2URLconf匹配的位置 3.3捕获的参数永远都是字符串 3.4视图函数中指定默认值 3.5include其他的URLconfs(也叫URL分发) 4.传递额外的参数给视图函数(了解) 5.命名URL(别名)和URL的反向解析 6.命名空间模式 1.URL配置 Django 1.11版本 URLConf官方文档    URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 1.1基本格式   from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数传一个参数request,和wsgiref的environ类似,就是请求信息的所有内容 urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 注意: Django 2.0版本中的路由系统已经替换成下面的写法,但是django2

whistle匹配模式

醉酒当歌 提交于 2019-11-30 12:39:37
a. 基本匹配: # 匹配域名www.qq.com下的所有请求 www.qq.com operatorURI # 匹配域名www.qq.com下的所有http请求 http://www.qq.com operatorURI # 匹配域名www.qq.com下的所有https请求 https://www.qq.com operatorURI # 限定域名的端口号 www.qq.com:8888 operatorURI # 8888端口 #限定具体路径 http://www.qq.com/xxx operatorURI # 精确匹配 , 以$符号开头 $http://www.qq.com/xxx operatorURI b.正则匹配: /http:\/\/(.*)/ log:// c. 通配符匹配 # 通配符匹配,以 ^ 开头(如果需要限制结束位置可以用 $),* 为通配符 ^www.example.com/test/*** operatorURI # 通配域名匹配: # 匹配二级域名以 .com 结尾的所有url,如: test.com, abc.com,但不包含 *.xxx.com *.com operatorURI //*.com operatorURI # 通配路径匹配: # 对所有域名对应的路径 protocol://a.b.c/xxx[/yyy]都生效 */

mysql 正则模式和like模糊查询

穿精又带淫゛_ 提交于 2019-11-30 12:32:36
MySql like模糊查询使用详解 一、SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT LIKE比较操作符。 SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,%:表示任意个或多个字符。可匹配任意类型和长度的字符。 比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’ 将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。 另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’ AND u_name LIKE ‘%猫%’ 若使用 SELECT * FROM [user] WHERE u_name LIKE ‘%三%猫%’ 虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。 2,_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符) 比如 SELECT * FROM [user] WHERE u

url配置

守給你的承諾、 提交于 2019-11-30 12:29:26
目录 一 URL配置   基本格式     参数说明  二 正则表达式详解   基本配置   注意事项   补充说明 三 分组命名匹配   URLconf匹配的位置   捕获的参数永远都是字符串   视图函数中指定默认值   include其他的URLconfs(也叫URL分发)   传递额外的参数给视图函数 四 命名URL(别名)和URL的反向解析 五 命名空间模式 一 URL配置    Django 1.11版本 URLConf官方文档   URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。   基本格式   from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数传一个参数request,和wsgiref的environ类似,就是请求信息的所有内容 urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ]   注意:   Django 2.0版本中的路由系统已经替换成下面的写法,但是django2.0是向下兼容1.x版本的语法的( 官方文档 ): from

Django基础之URL路由系统

耗尽温柔 提交于 2019-11-30 12:26:36
一 URL配置    Django 1.11版本 URLConf官方文档   URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 基本格式   from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数传一个参数request,和wsgiref的environ类似,就是请求信息的所有内容 urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 注意:   Django 2.0版本中的路由系统已经替换成下面的写法,但是django2.0是向下兼容1.x版本的语法的( 官方文档 ): from django.urls import path urlpatterns = [ path('articles/2003/', views.special_case_2003), path('articles/<int:year>/', views.year_archive), path('articles/<int:year>/<int:month>/', views.month

php 正则表达式使用

这一生的挚爱 提交于 2019-11-30 12:18:42
转载原文地址为 https://www.cnblogs.com/bigvase/p/6647771.html 1.界定符 /   例:/[a]/ 匹配a 2.原子 unicode编码中最小的单元符号,即一个字符。原子又分为可见原子,和不可见原子。可见原子是指unicode编码表中可见的字符。不可见原子像回车,空格,制表符之类的 3.元字符 | 匹配两个或则多个分支选择,相当于逻辑判断中的或者 例:/[a|v|b]/ 匹配a或者v或者b [] 匹配中括号中的任意一个原子 例子: /[a]/ 匹配a这个原子 [^] 匹配除了中括号中的原子之外的任意字符 例子:/[^a]/ 匹配除了a字符以外的任意字符 3.原子的集合 . 点号是匹配除了换行符以为的任意字符 \d 匹配任意一个十进制的数字 例子:/\d/ 匹配任意一个十进制数字,和 /[0-9]/ 是一样的效果 \D 匹配任意一个非十进制的数字 例子:/\D/ 匹配任意一个不是十进制的数字 和/[^0-9]/是一样的效果 \s 匹配一个不可见的原子 例子:/\s/ 匹配一个不可见的原子 和 /\f\n\r\t\v/效果一样   \f 匹配换页字符。 \n 匹配换行字符。\r 匹配回车符字符。 \t 匹配制表字符。 \v 匹配垂直制表符。 \S 匹配一个可见原子 例子:/\S/ 匹配一个可见的原子 和 /^\f\n\r\t\v/效果一样