回溯引用:前后一致匹配
回溯引用(backreference)在文本匹配和文本替换操作里非常有用。
例子1:匹配HTML中任意一级的标题栏中的内容例如:nihao
模式1:.*? 【注意这里使用懒惰型的*】
但是这里模式不是正确的:例如:abcd 显示不是正确的
模式2:.*? 正确
回溯引用匹配:模式的后半部分引用在前半部分中定义的子表达式【允许正...
分类:
其他好文 时间:
2014-11-08 20:52:17
阅读次数:
204
替换是只能在替换模式中识别的语言元素。 它们使用正则表达式模式定义全部或部分用于替换输入字符串中的匹配文本的文本。 替换模式可以包含一个或多个替换以及本文字符 替换 说明 $ number 包括替换字符串中的由 number 标识的捕获组所匹配的最后一个子字符串。 ${ name } 包括...
分类:
其他好文 时间:
2014-10-19 21:11:31
阅读次数:
305
在c++里比在c中功能更强!#define定义常量,只是简单的文本替换,不做类型检测,容易出错。const int a = 10;1 //定义const常量默认是int类型,const定义的符号常量有自己的数据类型2 //编译更加严格检测类型错误!比#define安全。符号常量有地址,可以指针指向,...
分类:
编程语言 时间:
2014-10-19 15:39:29
阅读次数:
283
#define 是预处理指令,简单的进行文本替换。typedef 是编译时处理,作用是给已经存在的类型取一个别名。由于以上根本原因,导致一下几种区别:1.#define不会做正确性检查,typedef会。2.#define可以使用其他说明符对宏名进行扩展,typedef不可以。3.可以使用typed...
分类:
其他好文 时间:
2014-10-02 13:24:12
阅读次数:
178
1、内联函数在编译时展开,而宏在预编译时展开2、在编译的时候,内联函数直接被嵌入到目标代码中去,而宏只是一个简单的文本替换。3、内联函数可以进行诸如类型安全检查、语句是否正确等编译功能,宏不具有这样的功能。4、宏不是函数,而inline是函数5、宏在定义时要小心处理宏参数,一般用括号括起来,否则容易...
分类:
其他好文 时间:
2014-09-23 00:05:23
阅读次数:
361
#!/usr/bin/env pythonimport osimport os.pathimport sysimport reimport shutilimport csvfrom multiprocessing import Pool #support muti thread map reduce...
分类:
编程语言 时间:
2014-09-16 10:34:30
阅读次数:
277
1.选取文本 略2.移动文本 略3.复制文本 略4.查找文本 5.替换文本 是进行替换的按钮。6.在程程序中设置书签 书签的样式和书签相关的按钮如图所示,VisualLISP允许用户在每个编辑窗口添加32个书签。添加新的书签时,将删除最早的书签。书签可帮助用户更方便地浏览文本编辑窗口中...
分类:
其他好文 时间:
2014-09-15 11:12:38
阅读次数:
220
替换字符串中的子串任务: 给定一个字符串,通过查询一个字符串替换字典,将字符串中被标记的子字符串替换掉。解决方案:>>> import string>>> new_style = string.Template('this is $thing')#给substitute 方法传入一个字典参数并调用....
分类:
编程语言 时间:
2014-09-03 16:26:46
阅读次数:
213
1、替换
s/PATTERN/REPLACE/;
#返回是否替换成功的布尔值
可以使用捕获变量,如:s/(\w)/$1/
匹配失败则不做任何处理
2、定界符
对于没有左右之分的定界符,重复三次即可,如:s///、s###
对于有左右之分的定界符,需使用两对,一对包含模式,一对包含替换字符串,这两对可以不一样,如:s{}{}、s[]{}、s
3、可选修饰符
/g可进行全局替换,...
分类:
其他好文 时间:
2014-08-15 23:51:49
阅读次数:
438
1.》》const与define。两者都可以用来定义常量,但是const定义时,定义了常量的类型,所以更精确一些。#define只是简单的文本替换,除了可以定义常量外,还可以用来定义一些简单的函数,有点类似内置函数。const和define定义的常量可以放在头文件里面。(小注:可以多次声明,但只能定...
分类:
其他好文 时间:
2014-06-25 12:24:10
阅读次数:
176