用户操作
[即时聊天] [发私信] [加为好友]
pandaID:pandaxcl
83515次访问,排名1159好友5人,关注者6
pandaxcl的文章
原创 62 篇
翻译 0 篇
转载 0 篇
评论 160 篇
pandaxcl的公告

博客文档资源下载在本人的网站下载!!!

我也优先在我的网站论坛上面回答问题

在研究C++自动化编程好久之后,发现C++自动化编程在国内还是一个空白。所谓的C++自动化编程,简单点说就是采用了C++的高级模板技术配合产生式编程技法实现了C++代码的自我配置,自动维护代码之间的种种一致性问题。关于这个问题的讨论,将会在我的网站上面进行细致的讨论。如果有问题,欢迎来我的网站提问哦。看看下面的我的网站的链接。

EMail:pandaxcl@163.com

QQ:56637059

我的网站: http://www.autodev.net

最近评论
pandaxcl:嘿嘿,大炮打了蚊子了;)呵呵;)
不过,选择一个合适的例子,还真难!这里的例子是我第一次学习vim宏的时候应用到的例子;)以后可以多多交流心得:)
li3:文档写得不错。
例子有问题,用VIM宏来实现上面的功能,有点大炮打蚊子了。上面的例子,只用一个替换就解决了。
%s/;/\r{\r}/
li3:文档写得不错。
例子有问题,用VIM宏来实现上面的功能,有点大炮打蚊子了。上面的例子,只用一个替换就解决了。
%s/;/\r{\r}/
pandaxcl:哎,这个博客啊,好多回复我都没有看到,消息列表里面居然没有:(这里的解析问题,可以到本人论坛上面发表,一定尽力回答:)

http//www.autodev.net

欢迎来捧场哦;)
fengjl026:我用这个代码编译了程序。
#include "iostream"
解析没有问题
但是将引号变成尖括号就出现语法错误,是什么问题呢?
文章分类
收藏
    相册
    友情连接
    小熊猫
    我的另外一个博客
    我的网站-自动化编程社区
    我的论坛-自动化编程社区论坛
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Lex和Yacc从入门到精通(2)--正则表达式篇收藏

    新一篇: C++中模板构造函数和模板转义运算符的妙用 | 旧一篇: Lex和Yacc从入门到精通(1)--环境配置篇

    正则表达式在Unix/Liunx系统中起着非常重要的作用,在很大一部分的程序中都使用了正则表达式,可以这么说:“在Unix/Linux系统中,如果不懂正则表达式就不算会使用该系统”。本文中使用的LexYacc都是基于正则表达式的应用,因此有必要用一篇文档的形式详细说明在LexYacc中使用的正则表达式为何物!

    其实正则表达式非常简单,用过DOS的人都知道通配符吧,说得简单一点,正则表达式就是稍微复杂一点的通配符。这里的正则表达式非常简单,规则非常少,只需要花上几分钟就可以记住。正则表达式的元字符列表如下:

    元字符

    匹配内容

    .

    除了换行符之外的任意字符

    \n

    换行符

    *

    0次或者多次匹配

    +

    1次或者多次匹配

    ?

    0次或者1次匹配

    ^

    行首

    $

    行尾

    a|b

    a或者b

    (ab)+

    ab的一次或者多次匹配

    “a+b”

    a+b(字面意思)

    []

    一类字符

    有了上面的元字符之后,就可以用上面的元字符表达出非常复杂的匹配内容出来,就像DOS名令中的通配符可以匹配多个指定规则的文件名一样。现在让我们看看上面的元字符的一些应用例子,列表如下:

    表达式

    匹配内容

    abc

    abc

    abc*

    abc abcc abccc abcccc ……

    abc+

    abcc abccc abcccc ……

    a(bc)+

    abcbc abcbcbc abcbcbcbc ……

    a(bc)?

    abc abcbc

    [abc]

    a b c其中之一

    [a-z]

    a b c d e f g… … z其中之一

    [a\-z]

    a – z 三个字符其中之一

    [-az]

    – a z 三个字符其中之一

    [A-Za-z0-9]+

    大小写字符和10个数字的一个或多个

    [ \t\n]

    空格,跳格,换行三者之一(空白符)

    [^ab]

    除了ab之外的任意字符

    [a^b]

    a ^ b 三者之一

    [a|b]

    a | b 三者之一

    a|b

    a b 两者之一

    ^abc$

    只有abc的一行

     

    注意*+的区别,通配符只是匹配之前最近的元素,可以用小括号将多个元素括起来,整个括号括起来的整体可以看作是一个元素。那么通配符就可以匹配整个括号的内容了。

    方括号表示的是一类字符,[abc]就是定义了只有abc三个字符的一类字符。这一点和abc不同,如果跟上通配符(*+?)的话,那么方括号就可以表示前面的任意的字符之一的一个字符的多个匹配,但是abc的话就只能是c的多个匹配了。说的更明白点就是DOS里面的通配符*表示的是任意字符的零个或者多个,而这里的方括号就是把DOS里面的任意字符类缩小为只有方括号表示的类了。另外还要注意连字符-在方括号中的意思,在方括号的中间表示“范围”的意思,而在首部则仅仅表示自己而已。

    转义用\,这和C语言类似,另外还需要注意三个特殊的元字符(^ | $)的意义。‘^’放在方括号的首部表示“除了”的意思,在其他地方没有特别意义。‘|’不在方括号中表示“或者”,‘$’通常表示行尾。

     

    通过上面的注释可以看出:使用正则表达式可以表示非常复杂的匹配内容,

    发表于 @ 2006年07月05日 08:36:00|评论(loading...)|编辑

    新一篇: C++中模板构造函数和模板转义运算符的妙用 | 旧一篇: Lex和Yacc从入门到精通(1)--环境配置篇

    评论

    #Ronit 发表于2007-05-20 14:10:48  IP: 218.108.29.*
    那个表达式匹配内容那一栏abc*应该也匹配ab的吧。其余的也是。
    #dlr0987 发表于2007-11-09 22:12:24  IP: 60.20.3.*
    abc* = ab (c+|e) =ab|abc|abcc.....

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © pandaxcl