最近框架和爬虫上常要处理字符串匹配和替换的场景,备忘。 非贪婪模式 比如要匹配html文本中的连接,例如a href="www.abc.com/xyz/o"需要替换为a href="www.bing.com?q=o",可以如下: 但是此时会导致第一个href="之后的文字到最后一个"之间的内容都是链 ...
分类:
编程语言 时间:
2019-06-14 21:36:32
阅读次数:
125
grep(匹配符合条件的字符串) 无参:显示匹配行 -c:显示匹配行数 -e 字符串:匹配特殊字符串,如-开头 -i:忽略大小写 -v:输出不匹配行 -w:匹配指定字符串 可以和别的命令通过"|"管道符连接使用 【grep user_info demo 在demo文件中匹配user_info,打印出 ...
分类:
系统相关 时间:
2019-06-09 00:35:04
阅读次数:
150
The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e'. He was a member of the Oulipo group. A quote fr ...
分类:
其他好文 时间:
2019-06-08 18:49:58
阅读次数:
80
1. 快排的partition 3. kmp的next数组 next[0] = 1; for(int i=1; i ...
分类:
编程语言 时间:
2019-06-08 14:42:00
阅读次数:
128
1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 #include <cstring> 5 6 using namespace std; 7 const int N=1e6+5; 8 char s[N],t[1000 ...
分类:
其他好文 时间:
2019-06-07 21:07:30
阅读次数:
113
本文转自:91博客 ;原文地址:http://www.9191boke.com/235792704.html 正则表达式或“regex”用于匹配字符串的各个部分,下面是我创建正则表达式的备忘录。包括一些常用的验证、匹配数字、匹配字符串、匹配中文、匹配任意字符串。 匹配正则 使用 .test() 方法 ...
分类:
Web程序 时间:
2019-06-07 00:58:13
阅读次数:
183
KMP基本思路很简单,关键在于求失配数组,也就是next数组 next[k]表示[0, k]的最长 真 前缀后缀的索引(不包括p[0, k]) 假设我们现在有了p[0,i 1]的最长 真 前缀后缀索引为k,如何求p[0, i]的最长 真 前缀后缀呢? + p[i] == p[k+1], 那么很显然n ...
分类:
编程语言 时间:
2019-06-06 19:13:35
阅读次数:
160
就是使用KMP算法进行字符串的匹配,但是我发现我之前的kmp写的有问题,然后修补了一下板子漏洞2333 next数组含义: next[i]表示 到i为止,前缀 和 后缀 相同的个数 1 (为啥 1呢,比如 , ,这样的话,aabaab不是的话 就直接失配到aab,大概意思就是这样) c++ clas ...
分类:
其他好文 时间:
2019-06-03 12:39:51
阅读次数:
84
要点 头尾的最长相同只要一个kmp即可得,于是处理中间部分 扫一遍记录一下前缀的每个位置是否存在一个中间串跟它相同,见代码 如果当前没有,接着用Next数组去一找即可 C++ include include const int maxn = 1e6 + 5; char s[maxn]; int Ne ...
分类:
其他好文 时间:
2019-06-02 01:02:19
阅读次数:
79
https://blog.csdn.net/a302549450/article/details/80948741?tdsourcetag=s_pctim_aiomsg 上面是题解的链接。。, ...
分类:
其他好文 时间:
2019-05-24 12:41:38
阅读次数:
114