模式你还可以在模式串中使用字符类。字符类指可以匹配一个特定字符集合内任何字符的模式项。比如,字符类%d匹配任意数字.所以你可以使用模式串‘%d%d/%d%d/%d%d%d%d‘搜索dd/mm/yyyy格式的日期:s="Deadlineis30/05/1999,firm"date="%d%d/%d%d/%d%d%d%d"print(string.sub(s,string..
分类:
其他好文 时间:
2016-11-23 00:12:57
阅读次数:
262
KMP算法 一、普通的字符串匹配 平时我们在写普通的字符串匹配算法的时候,是拿着要匹配的串去匹配被匹配的串,字符逐个比较,当发现字符失配时,被匹配的字符串的指针要回到前一次开始匹配的指针的下一个位置。这里我们称要去匹配的字符串为模式串P,被匹配的字符串为主串S,即我们拿模式串P去匹配主串S,看看P是 ...
分类:
编程语言 时间:
2016-11-13 19:44:28
阅读次数:
252
类构造块 在类只用一对大括号包含的内容,构造所有的对象时都会执行的内容,如果某个类有好几个够赞函数,公共部分抽取出来,放到构造块中。 主要作用: 一个类可能重载了很多的构造函数,这时不同的构造函数有些内容是公共的,这时需要把公共的内容分离出来省的每个构造函数厘里面都写一遍,这时就可以使用类构造块。 ...
分类:
其他好文 时间:
2016-10-30 19:52:13
阅读次数:
248
模式匹配 在字符串匹配问题中,我们期待察看源串 “ S串 ” 中是否含有目标串 “ 串T ” (也叫模式串)。其中 串S被称为主串,串T被称为子串。 1、如果在主串中查找到子串,则称为模式匹配成功,返回模式串的第一个字符在主串中出现的位置。 2、如果在主串中未找到子串,则称为模式匹配失败,返回-1。 ...
分类:
编程语言 时间:
2016-10-30 19:14:07
阅读次数:
387
http://acm.hdu.edu.cn/showproblem.php?pid=2222 KMP是单模式串匹配的算法,而AC自动机是用于多模式串匹配的算法。主要由Trie和KMP的思想构成。 题意:输入N个模式串,再给出一个文本串,求文本串里出现的模式串数目。 ...
分类:
其他好文 时间:
2016-10-25 02:14:47
阅读次数:
160
shift-and算法,设$v[i][j]$表示文本串长度为$i$的前缀能否匹配模式串长度为$j$的前缀,$f[i][j]$表示字符$i$能否匹配模式串的第$j$个位置,那么有$v[i+1][j+1]=v[i][j]\ and\ f[s[i+1]][j+1]$。 显然$j$这一维可以用bitset加 ...
分类:
其他好文 时间:
2016-10-21 19:21:14
阅读次数:
142
首先我们需要了解什么是模式匹配?
子串定位运算又称为模式匹配(Pattern Matching)或串匹配(String Matching)。在串匹配中,一般将主串称为目标串,将子串称为模式串。本篇博客...
分类:
编程语言 时间:
2016-10-06 17:42:48
阅读次数:
342
直接把作业帖上来是不是有点不太公道呀。。。 无所谓啦反正各位看着开心就行 KMP算法 对于模式串$P$,建立其前缀函数$ N$ ,其中$N [q] $ 表示在$P$中,以$q$位置为结束的可以匹配到前缀的最长后缀的长度(也可以理解为那个前缀的结束位置),在匹配中,若$P[i]$与$S[j]$失配,则 ...
分类:
编程语言 时间:
2016-10-05 13:09:10
阅读次数:
229
【题意:】 t次操作,每次操作有下述三种类型: + a 往multiset中增加一个非负整数a,允许相同的数出现 - a 从multiset中减去一个非负整数a,执行此操作时保证multiset存在该非负整数a ? s 询问multiset中有多少个数与模式串s匹配(匹配的定义:模式串中,'0'表示 ...
分类:
其他好文 时间:
2016-10-04 11:39:06
阅读次数:
156
题目:Wildcard 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3901 题意:给一个原串(只含小写字母)和一个模式串(含小写字母、?、* ,*号可替换为0到无穷个任意字母,?可替换为一个任意字母),问两个字符串是否匹配。 思路: 这是经典题吧。。。 ...
分类:
其他好文 时间:
2016-09-30 23:37:36
阅读次数:
245