1.简介 暴力字符串匹配(brute force string matching)是子串匹配算法中最基本的一种,它确实有自己的优点,比如它并不需要对文本(text)或模式串(pattern)进行预处理。然而它最大的问题就是运行速度太慢,所以在很多场合下暴力字符串匹配算法并不是那么有用。我们需要一些更 ...
分类:
编程语言 时间:
2016-07-24 11:55:42
阅读次数:
274
字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著 ...
分类:
编程语言 时间:
2016-07-23 11:49:44
阅读次数:
187
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。 正 ...
分类:
其他好文 时间:
2016-07-19 20:33:29
阅读次数:
180
Python正则表达式一、正则表达式(或RE)是一种小型的、高度专业化的编程语言---可以为想要匹配的相应字符串集指定规则---该字符串集可能包含英文语句、e-mail地址、命令或者任何你想搞定的东西---可以问诸如“这个字符串匹配该模式吗?”---“在这个字符串中是否有部分匹配该模..
分类:
编程语言 时间:
2016-07-19 19:07:41
阅读次数:
270
一、顺序查找 1、步骤:简单的将给定列表中的连续元素与给定的查找键作比较,直到遇到一个匹配的元素或遇到匹配元素前就遍历了整个列表 2、JavaScript代码实现 3、算法分析: 顺序查找算法具有蛮力法的优点(简单)和缺点(效率低),是一个线型算法 一、蛮力字符串匹配 1、步骤(需要从m个“文本”中 ...
分类:
编程语言 时间:
2016-07-16 00:44:42
阅读次数:
193
. 除换行符以外的任意字符\w word,正常字符,可以当做变量名的,字母、数字、下划线、汉字\s space,空白符\d digital,数字\b begin,单词的开始和结束^ 匹配字符串的开始(整个字符串)$ 匹配字符串的结束(整个字符串)? 重复0次或1次* 重复任意次+ 重复至少一次{x} ...
分类:
其他好文 时间:
2016-07-15 06:19:09
阅读次数:
148
数据不大,暴力过。纳闷的是长度是1~100,数组开150都不行,必须要200才不会WA。 思路:注意双向匹配。for(int i=0;i<2;i++,swap(str1,str2))。记录两个字符串匹配到的数目,两个长度相加减去匹配到的数目即可。 匹配过程:b串不动,a串从b串第一个字符开始匹配,可 ...
分类:
其他好文 时间:
2016-07-15 00:05:43
阅读次数:
325
前几天在看数据结构与算法,里面提到过kmp算法,一个超级经典的字符串匹配算法。虽然网上有一大堆关于kmp算法的介绍文章,但是我看过之后还是“不明觉厉”。所以打算自己写写,大家一起学习吧。 一.关于KMP算法的概念 关于字符串匹配问题,就是在一个大的字符串T中找到一个小的字符串P的位置,并返回P的位置 ...
分类:
编程语言 时间:
2016-07-11 19:02:18
阅读次数:
151
字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著 ...
分类:
编程语言 时间:
2016-07-10 11:07:12
阅读次数:
214
复习字符串操作 search 查找 substring 获取字符串 charAt 获取某个字符串 split 分割字符串,获得数组 找出字符串中的所有数字 用传统字符串操作完成 用正则表达式完成 正则表达式基础(2) 什么是正则表达式 什么叫正则 规矩,模式 强大的字符串匹配工具 是一种正常人类很难 ...
分类:
其他好文 时间:
2016-07-04 00:58:18
阅读次数:
328