11. 组与向后引用
把正则表达式的一部分放在圆括号内,你可以将它们形成组。然后你可以对整个组使用一些正则操作,例如重复操作符。
要注意的是,只有圆括号“()”才能用于形成组。“[]”用于定义字符集。“{}”用于定义重复操作。
当用“()”定义了一个正则表达式组后,正则引擎则会把被匹配的组按照顺序编号,存入缓存。当对被匹配的组进行向后引用的时候,可以用“\数字”的方式进行引用。<<\1>>引用第一个匹配的后向引用组,<<\2>>引用第二个组,以此类推,<<\n>>引用第n个组。而<<\0>>则引用整个被匹配的正则表达式本身。我们看一个例子。
假设你想匹配一个HTML标签的开...
7. 使用“.”匹配几乎任意字符
在正则表达式中,“.”是最常用的符号之一。不幸的是,它也是最容易被误用的符号之一。
“.”匹配一个单个的字符而不用关心被匹配的字符是什么。唯一的例外是新行符。在本教程中谈到的引擎,缺省情况下都是不匹配新行符的。因此在缺省情况下,“.”等于是字符集[^\n\r](Window)或[^\n]( Unix)的简写。
这个例外是因为历史的原因。因为早期使用正则表达式的工具是基于行的。它们都是一行一行的读入一个文件,将正则表达式分别应用到每一行上去。在这些工具中,字符串是不包含新行符的。因此“.”也就从不匹配新行符。
现代的工具和语言能够将正...
5. 字符集
字符集是由一对方括号“[]”括起来的字符集合。使用字符集,你可以告诉正则表达式引擎仅仅匹配多个字符中的一个。如果你想匹配一个“a”或一个“e”,使用<<[ae]>>。你可以使用<<gr[ae]y>>匹配gray或grey。这在你不确定你要搜索的字符是采用美国英语还是英国英语时特别有用。相反,<<gr[ae]y>>将不会匹配graay或graey。字符集中的字符顺序并没有什么关系,结果都是相同的。
你可以使用连字符“-”定义一个字符范围作为字符集。<<[0-9]>>匹配0到9之间的单个数字。你可以使用不止一个范围。<<[0-9a-fA-F] >>匹配...
文章出处:http://www.cnblogs.com/dragon/archive/2006/05/08/394078.html
前言: 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用“深入浅出”才能准确的表达出该教程给我的感受,所以也就不能免俗了。 本文是Ja...
1、从键盘输入字符asdfg,逐个把它们存放到磁盘文件stud中。
2、编程实现:在含有10个整型元素的一维数组中,统计和给定值m=10相等的元素的个数。要求:数组元素随机输入,输出数组元素和与m相等的元素个数。
3、读入n名学生的成绩信息(学号num,成绩s1,成绩s2,总成绩s),总成绩初值为0,所有成绩采用整型。完成如下功能:计算每名学生的总成绩,用函数实现;按总成绩排序,用函数实现;要求:输出排序后的学生所有信息。(2<n<10)
4、编程实现如下功能:创建一个含有n个结点的链表,每个结点包含一个整数,函数实现;在第i个结点之后插入一个新的结点,函数实现;输出链表内容,函数...
暑假虽然开始了,但是我们要进行为期35天的实训啦~~~~~~~~~~~~~
o(∩_∩)o...
我们会在老师的带领下,做出想要的结果---开发项目,充满了艰辛,可是很具有挑战性!!!!!!!!!!
我会努力的~~~~~~~~~
先看标识符的右边,如果什么也没有,则表明是一个简单实体;如果是[]则表明是一个数组;()则表明是一个函数。
如果是一个函数(),再看他的左边,如果什么也没有,那么他就是一个简单的实体其右边不能再有其他内容,左边为其类型修饰符;如果左边是一个*:则是一个指针实体;如果是&:则是一个引用的实体。后两种情况我们还需要看他所指向的内容。
Memo1 的 Lines 属性是一个 TStrings 对象, TStrings.Append 就是调用的 TStrings.Add, 所以它们没有区别;请用 "Ctrl+鼠标左键" 看看源码, 如下图:
功能说明:追加内容到文件中。文件必须要存在。 参考实例: var S: String; F: TextFile; begin S := 'This is a book.'; AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。 Append(F); // 以追加的方式打开文件 Writeln(F, S); // 将S变量中的内容追加到文本尾后。 CloseFile(F); // 关闭文件 end;
我好有好有心去学VC,但我是自学,想要动画学习。路过的有心人请帮帮我好吗
一.C语言中字体的问题 C语言中有两种显示方式,即文本方式和图形方式。就我所知,只能在图形方式下控制字体. 先看一下C中定义的几种字体 名称 索引值 字体说明 DEFAULT_FONT 0 8x8 bit-mapped font TRIPLEX_FONT 1 Stroked triplex font SMALL_FONT 2 Stroked small font SANS_SERIF_FONT 3 Stroked sans-serif font GOTHIC_FONT 4 Stroked gothic font (字体说明中的英文解释无须明白,在例子的演示中去看) 请看例子(摘自TC3....
(1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符。其调用格式为: getch(); getche(); 两者的区别是: getch()函数不将读入的字符回显在显示屏幕上, 而getche() 函数却将读入的字符回显到显示屏幕上。 例1: #include main() { char c, ch; c="getch"(); /*从键盘上读入一个字符不回显送给字符变量c*/ putchar(c); /*输...
原帖及讨论:http://bbs.bccn.net/thread-221066-1-1.html
*/ --------------------------------------------------------------------------------------*/ 出自: 快乐编程 http://hi.bccn.net/108519*/ 作者: neverTheSame E-mail:zhaoxufeng9997@126.com QQ:475818502*/ 时间: 2008-6-1*/ 声明: 尊重作者劳动,转载请保留本段文字*/ ------------------...
编译原理复习题
一、填空题
1、 一个名字的属性包括(类型)和(作用域)
2、 对于数据空间的存储分配,FORTRAN采用(静态分配)策略,PASCAL采用(栈式动态分配策略)策略
3、 如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是(属性文法)
4、 对于文法G,仅含终结符号的句型称为(一个句子)
5、 程序语言的单词符号一般可以分为(关键字,标识符、常数、运算符、界符)等等。
6、 语法分析器的输入是(单词符号),其输出是(语法单位)。
7、 扫描器的任务是从(源程序)中识别出一个个(单词符号)。
8、 语法分析最常用的两类方法是(...
编译原理复习题
一、选择题
1、在使用高级语言编程时,首先可通过编译程序发现源程序的全部 错误。
a. 语法 b. 语义 c. 语用 d. 运行
2、 要在某台机器上为某种语言构造编译程序,必须掌握下述那些内容____。
a. 汇编语言 b. 高级语言 c. 源语言 d. 目标语言
e. 程序设计方法学 f. 机器语言 g. 编译方法
①abf ②afg ③cdg ④ efg
...
那位大哥的手头有编译原理试题啊,可以给共享一下吗?
急啊………………
(1)数组作实参只包含两种情况:数组元素或数组名作实参,不可能将整个数组作实参
(2)数组元素作实参时,向形参传递的是数组中某个元素的值(与变量作形参相同)
(3)数组名作实参时,向形参传递的是数组的首地址。此时,形参不是基本类型的变量,可以是数组或指针变量
(4)形参数组的数组名不是常量而是指针变量,它存放实参传递过来的实参数组的首地址
(5)二维行参数组的长度可以省略,但方括号不能省略,因为没有方括号就不是数组的定义形式。多维数组作形参时,第一维的长度可以省略,第二维及高维的长度不能省略。
1.事业永远第一
虽然金钱不是万能的,但没有钱是万万不能的,虽然这句话很俗,但绝对有道理,所以30岁之前,请把你大部分精力放在你的事业上.
2.别把钱看得太重
不要抱怨自己现在工资低,银行存款4位数以下,看不到前途,现在要做的就是努力学习,即使你文凭再高,怎么把理论运用到实践还是需要一个很长的锻炼过程,社会永远是一所最博大的大学,它让你学到的知识远比你在学校学到的重要得多,所以同样,你也别太介意学历低.30岁之前靠自己能力买车买房的人还是极少.
3.学会体谅父母
别嫌他们唠叨,等你为人父了你就知道可怜天下父母心,在他们眼里你还是个孩子,但他们真的老了,现在得你哄他们开心...
软件项目支持工程师和软件工程师的区别?哪个更好~项目支持工程师具体是做什么的~?发展怎么样~
给出包含M个数字的列表,和列表中所有数字的所有质因数。求出最长的子列表,使得子列表中所有数字的乘积是一个完全平方数。
输入
输入文件包含多组测试数据。第一行包含两个整数N , M ( 1 <= N <= 30 , 1 <= M <= 30000 ). N 是质因数的个数。接下来一行有N个整数,给出所有的质因数。然后一行包含M个整数,给出列表。
输入文件结束于N = M = 0.
输出
对于每组数据,输出最长子列表的两个位置坐标l r。l是该子列表在列表中的起始位置,r是结束位置。如果多种情况都满足子列表长度最大,输出l最小的一个。如果不存在这样的子列表输出“None”...