之前一直有使用python 正则表达式来做中文字符串或者中英文数字混合的字符串的匹配,发现有不少情况下会匹配失灵或者结果混乱,并且在不同操作系统上匹配结果也不一致,查了很久都不知道是什么原因。今天终于彻底弄懂了,原来还是python中对中文的编码问题造成的。 解决办法: step1 在设置默认编码为 ...
分类:
编程语言 时间:
2019-02-27 21:59:25
阅读次数:
249
正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。下面来介绍一些基本的规则 1. 正则基本语法 首先有两个特殊的符号 和`$`,他们分别表示一个字符串 ...
分类:
其他好文 时间:
2019-02-25 18:07:14
阅读次数:
187
概述 应用场景: 多模字符串匹配问题 。 KMP解决的问题是两个字符串之间的互相匹配,而如果有多个字符串要和一个字符串进行匹配呢?如果还用KMP的话,复杂度依然上天,所以,一个正常的想法是在KMP的基础上堆数据结构。 所以AC自动机=在Trie树上跑KMP,它其中也存在失配数组,与KMP类似。 初见 ...
分类:
其他好文 时间:
2019-02-24 21:46:05
阅读次数:
245
重复叠加字符串匹配 给定两个字符串 A 和 B, 寻找重复叠加字符串A的最小次数,使得字符串B成为叠加后的字符串A的子串,如果不存在则返回 -1。 举个例子,A = "abcd",B = "cdabcdab"。 答案为 3, 因为 A 重复叠加三遍后为 "abcdabcdabcd",此时 B 是其子 ...
分类:
其他好文 时间:
2019-02-19 13:23:03
阅读次数:
158
通过 --with-http_sub_module 编译进nginx sub_filter 指令 http, server, location 设置要替换的字符串和替换字符串。要替换的字符串匹配,忽略大小写。要替换的字符串(1.9.4)和替换字符串可以包含变量。可以在一个配置级别(1.9.4)上指定 ...
分类:
其他好文 时间:
2019-02-16 17:05:19
阅读次数:
228
KMP算法: 引言: KMP算法是一种改进的字符串匹配算法 字符串匹配:即寻找str_target在str_source中出现的位置 没有改进的字符串匹配:用暴力法进行搜索,枚举出所有的情况然后一一比较。缺点:耗费了很多时间,时间复杂度非常高。所以需要改进。 这里举一个暴力匹配的例子: 在"zabc ...
分类:
编程语言 时间:
2019-02-16 00:09:45
阅读次数:
267
1.创建数据表 # ORM中的数据表是什么呢? # Object Relation Mapping # Object - Table 通过 Object 去操纵数据表 # 从而引出了我们的第一步创建数据表 - 创建Object # 1. 创建Object # class User(object): ...
分类:
数据库 时间:
2019-02-14 20:27:46
阅读次数:
135
概述 KMP算法能够解决字符串匹配问题。即S串在P串中出现了多少次的问题,时间复杂度为$O(n+m)$ 设S处的指针为j,P处的指针为i,我们的目的是让P[i j+1..i]与S[1..j]完全相等。 那么如果使用传统的方法,一旦匹配失败,就需要把i往后移一位,再重新匹配,时间复杂度是$O(n m) ...
分类:
编程语言 时间:
2019-02-10 00:01:02
阅读次数:
217
初识KMP "例题传送门" KMP算法是一种改进的字符串匹配算法,时间复杂度为O(m+n)。 ? ——百度百科 KMP算法最重要的一个内容就是next数组,它让KMP算法从普通的字符串匹配算法的O(mn)优化到了O(n+m)。 next数组主要的功能就是让两个串匹配失败时,能够快速地找到下一个匹配的 ...
分类:
其他好文 时间:
2019-01-27 19:17:45
阅读次数:
200
题目: 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 示例: 示例 1: 示例 2: 思路: 先找出最小长度的,然后每个字符串匹配。O(n) ...
分类:
其他好文 时间:
2019-01-26 17:10:50
阅读次数:
205