LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1175|回复: 2

lex中如何设计匹配该C语言字符串的正则式?[已解决]

[复制链接]
发表于 2005-3-21 23:46:18 | 显示全部楼层 |阅读模式
如题,
简单的说,是匹配类似如下C语言字符串的

"hello a quote\" here“  //该串中有个红色双引号

就是说,我们从最左边蓝色引号开始读该串,读到红色那个双引号时,不能认为串已经结束,因为红引号前面有一个转义字符"\",而必须继续读完剩下的here" ,才认为本串结束了。

我做的答案是:\"([^\"\\]*(\\.)*)*\"
改进一步,省去两个*闭包运算,换成? :\"([^\"\\]?(\\.)?)*\"

再加入对串类型 "xxxxx\           <--------------"\"后面跟一个换行符的
                        xxxx"
的支持:\"([^\"\\]?(\\.)?(\\\n)?)*\"
发表于 2005-3-22 19:48:15 | 显示全部楼层
呵呵,开始学编译原理啦~~!好好努力吧,以后会有大用场。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-22 20:49:39 | 显示全部楼层
谢谢版主支持。
以后请多帮忙哦,hoho
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表