LinuxSir.cn,穿越时空的Linuxsir!

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

请问字符串的正则式要怎么写?[已解决]

[复制链接]
发表于 2005-3-21 22:40:27 | 显示全部楼层 |阅读模式
学习lex中

指C语言里头的字符串,比如三种都是字符串。
"hello"
"hello\nworld"
"hello a quote \" here "  //串中有个双引号的


谢谢!!

另,谁有C语言词法分析的 lex.1 源码? 能贴个出来吗? :thank
发表于 2005-3-21 22:42:11 | 显示全部楼层
转义字符\就可以解决吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-21 22:46:12 | 显示全部楼层
对啊,就是字符串里头有个转义字符 \ ,后面跟了个 "  , 因此
类似这种"hello a quote \" here " 串的正则式怎么写?
回复 支持 反对

使用道具 举报

发表于 2005-3-21 22:52:19 | 显示全部楼层
字符串好象是任意的吧?
回复 支持 反对

使用道具 举报

发表于 2005-3-21 23:15:50 | 显示全部楼层
正则表达式就是用来匹配某一模式的字符串的,兄弟上面的问题是想要匹配哪种模式的字符串?好像没有说清楚
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-21 23:40:54 | 显示全部楼层
简单的说,是匹配类似如下C语言字符串的

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

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


我做的答案是:\"([^\"\\]*(\\.)*)*\"

应该没错了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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