社区
数据结构与算法
帖子详情
flex 中c的注释/*aaa*/的正则表达式如何写?
alphapaopao
2003-10-13 12:48:09
"/*"(([^*]|("*"[^/*]))*)("*"/"*")*("*/") printf("c comments:\n\n%s[END]\n\n\n", yytext);
这是我写的,后来发现不对。
注释的DFA很容易做出来,但是为什么他的正则表达式那么难写?
...全文
315
18
打赏
收藏
flex 中c的注释/*aaa*/的正则表达式如何写?
"/*"(([^*]|("*"[^/*]))*)("*"/"*")*("*/")printf("c comments:\n\n%s[END]\n\n\n", yytext); 这是我写的,后来发现不对。 注释的DFA很容易做出来,但是为什么他的正则表达式那么难写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
borlang
2003-10-20
打赏
举报
回复
这样也可以:(/\*).*?(\*/)
alphapaopao
2003-10-16
打赏
举报
回复
ttmmdd(老孩子) 的的确可以,我已经成功匹配
/**/
/***/
/*aa*/
/*aa**/
alphapaopao
2003-10-14
打赏
举报
回复
/*aa**/ 无法正确匹配
ttmmdd
2003-10-14
打赏
举报
回复
恩?我用到现在没问题啊?
warton
2003-10-14
打赏
举报
回复
贴子不错!!我还是用php时简单地学习了一下正则表达式,现在忘记得差不多了!
alphapaopao
2003-10-14
打赏
举报
回复
ttmmdd(老孩子) 的不行,我的也不行
ttmmdd
2003-10-14
打赏
举报
回复
我试过了,可以匹配的.
/*aa**/
《/*》 匹配 "/*"
《aa》 匹配 (([^*/])+([/])*)*
《*》 匹配 (
*
(([^*/])+([/])*)*)因为 (([^*/])+([/])*)*可以为空.
《*/》 匹配 "*/"
warton
2003-10-14
打赏
举报
回复
试试这个:((\/\*((\*[^\/]+)|[^\*])+\*\/)|(\/\/))
alphapaopao
2003-10-14
打赏
举报
回复
哇!!置顶了!
alphapaopao
2003-10-13
打赏
举报
回复
"/*"([^*]|\*[^/*])*"*/"
这个好像也可以
alphapaopao
2003-10-13
打赏
举报
回复
楼上的牛!!!
不过我还没理解这个表达式
ttmmdd
2003-10-13
打赏
举报
回复
这个是可以地...
"/*"(
*
(([^*/])+([/])*)*)*"*/"
alphapaopao
2003-10-13
打赏
举报
回复
== 对于 /*foo*abc*/ 的匹配过程 == 注:《》里面是要匹配的字符串
《/*》 匹配 "/*"
《foo》 匹配 [^*]
《*》 foo后面的*匹配 \*(\**)
《abc》将从头匹配,因为它是重复多个的 ([^*]*\*(\**))+ ,它匹配到了这个表达式开头的 [^*]
《*》 abc后面的*匹配 \*(\**)
《/》 匹配 "/"
请大虾指教!
alphapaopao
2003-10-13
打赏
举报
回复
== 对于 /*foo*abc*/ 的匹配过程 == 注:《》里面是要匹配的字符串
《/*》 匹配 "/*"
《foo》 foo后面的*匹配 [^*]
《*》 匹配 \*(\**)
《abc》将从头匹配,因为它是重复多个的 ([^*]*\*(\**))+ ,它匹配到了这个表达式开头的 [^*]
《*》 abc后面的*匹配 \*(\**)
《/》 匹配 "/"
请大虾指教!
alphapaopao
2003-10-13
打赏
举报
回复
"/*"([^*]*\*(\**))+"/"
我觉得我这个应该没问题阿,是在看不出来什么地方有问题。还请指教:
"/*" 匹配开始标记
[^*]* 匹配不是*的字符
\* 匹配一个星号*
\** 匹配*,0个,若干个
([^*]*\*(\**))+ 这样的情况1个,或多个
"/" 最后匹配结束符号 /
== 对于 /* define a integer variable */ 的匹配过程 == 注:《》里面是要匹配的字符串
《/*》 匹配 "/*"
《 define a integer variable 》 匹配 [^*]
《*》 匹配 \*(\**)
《/》 匹配 "/"
Riemann
2003-10-13
打赏
举报
回复
写注释的正则表达式要考虑得东西很多。在你的表达式中很多情况都是不能匹配到的。
例如:int i; /* define a integer variable */
/* comment */ /* This is
a comment */
下面是我曾经看到过的一种写法,感觉挺不错的。
%{
int comments, code, spaceline;
%}
%x COMMENT
%%
^[ \t]*"/*" { BEGIN COMMENT; /* 进入注视处理状态 */ }
^[ \t]*"/*".*"*/"[ \t]*\n { comments++; /* 处理注释的自包含 */ }
<COMMENT>"*/"[ \t]*\n { BEGIN 0; comments++; }
<COMMENT>"*/" { BEGIN 0; }
<COMMENT>\n { comments++; } /* 处理注释中的空行 */
<COMMENT>.\n { comments++; } /* 处理注释中的文本 */
^[ \t]*\n { spaceline++; } /* 处理空行 */
.+"/*".*"*/".*\n { code++; }
.*"/*".*"*/".+\n { code++; }
.+"/*".*\n { code++; BEGIN COMMENT; }
.\n { code++; }
.; /* 忽略其他 */
%%
main()
{
yylex();
printf("code: %d, commnents: %d, spaceline: %d\n",
code, comments, spaceline);
}
alphapaopao
2003-10-13
打赏
举报
回复
"/*"([^*]*\*(\**))+"/"
冥思苦想,这个看样子是可以的。但是还是匹配不到。郁闷
alphapaopao
2003-10-13
打赏
举报
回复
up
100个
正则表达式
的入门实例和40个组合类型
正则表达式
实例
100个
正则表达式
的入门实例和40个组合类型
正则表达式
实例
正则表达式
介绍
正则表达式
(Regular Expression) 1.
正则表达式
的介绍 是强大、便捷、高效的文本处理工具。
正则表达式
本身,如同一门袖珍编程语言的通用模式表示法,赋予使用者描述和分析文本的能力。配合上特定工具提供的额外支持,
正则表达式
能够添加、删除、分离、叠加、插入和修整各种类型的文本和数据。
正则表达式
是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。
正则表达式
作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 2.
正则表达式
语法 1)非打印字符 非打印字符也可
转 python内置
正则表达式
(re)模块官方文档简要
中
文版
学习
正则表达式
,最好的教材是《精通
正则表达式
》,而要精通NFA
正则表达式
,使用了NFA引擎的python正则模块官方文档就是最好的教材,大部分的功能同样在其他使用传统NFA引擎的正则包里受到支持。 目前公开引擎流派的: 使用DFA引擎的程序主要有:awk,egrep,
flex
,lex,MySQL,Procmail等;使用传统型NFA引擎的程序主要有:GNU Emacs,Java,...
【Python笔记】
正则表达式
基础和应用
0 引言 0.1 正则の定义、功能 正则,就是
正则表达式
,英文是 Regular Expression,简称 RE。正则其实就是一种描述文本内容组成规律的表示方式。 在编程语言
中
,正则常常用来简化文本处理的逻辑。在 Linux 命令
中
,它也可以帮助我们轻松地查找或编辑文件的内容,甚至实现整个文件夹
中
所有文件的内容替换,比如 grep、egrep、sed、awk、vim 等。 另外,在各种文本编辑器
中
,比如 Atom,Sublime Text 或 VS Code 等,在查找或替换的时候也会使用到它。 0.2
字符串、格式化、
正则表达式
【下】
(这一个章节,将会提及到Java里面很特殊的一个数据类型:String,其类型的主要麻烦在于我们经常会用到它,而且针对它的“不可变”,很多时候很难去理解。附带这个章节会讲到很多关于处理字符串格式的内容,包括使用
正则表达式
做验证以及使用日期、货币格式化处理,还会提及到的就是如果在使用JDBC的时候针对SQL的类型[java.sql包内]和针对Java的类型[java.util]的一些相互转换问题。这
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章