求一个分割文本的正则表达式

morgancc 2005-02-28 05:43:50
想用于词法分析程序,文本如:
main()
{
int a;
if(a>=20);
}
要分割为这样:'main','(',')','{','int','a',';','if','(','a','>=','20',')',';','}'
用正则表达式可以实现吗?
如可以实现,怎么写?
...全文
266 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuuzg 2005-05-22
  • 打赏
  • 举报
回复
实现了贴出来共享啊
morgancc 2005-03-01
  • 打赏
  • 举报
回复
谢谢各位朋友,我已经实现了
mobydick 2005-03-01
  • 打赏
  • 举报
回复
这个不是一个正则表达式就能解决的问题。
其实最简单的方法就是按照《编译原理》上面的伪代码实现功能,使用栈来进行代码分析。
如果非要使用正则表达式,你可以将代码分为数字、非数字、符号……,分别使用正则表达式提取。
linuxyf 2005-03-01
  • 打赏
  • 举报
回复
llx529(白日梦) 的实现错误,这个问题不是单纯正则表达式能够解决的问题。
llx529 2005-03-01
  • 打赏
  • 举报
回复
main()
{
int a;
if(a>=20);
}
要分割为这样:'main','(',')','{','int','a',';','if','(','a','>=','20',')',';','}'

/(main)(\()(\))(\{)(\})(int)(a)(\;)(if)(\()(a)(\>\=)(0-9)(\))(;)(\})/;
morgancc 2005-02-28
  • 打赏
  • 举报
回复
是正则表达式没关系啊,能写一个吗?
xiongchen 2005-02-28
  • 打赏
  • 举报
回复
Regex.Split函数可以分隔字符串,不过还是正则表达式啊1
web_gus 2005-02-28
  • 打赏
  • 举报
回复
晕,写不出,up
morgancc 2005-02-28
  • 打赏
  • 举报
回复
只要能实现分割单词就可以,不一定要使用正则表达式,谁能给个函数吗?
AllenTing 2005-02-28
  • 打赏
  • 举报
回复
gz
zhgroup 2005-02-28
  • 打赏
  • 举报
回复
有点类似于VS。NET的智能感知。
godwater8 2005-02-28
  • 打赏
  • 举报
回复
morgancc 2005-02-28
  • 打赏
  • 举报
回复
不是自己作编译器,是学习编译原理要用到的
hedonister 2005-02-28
  • 打赏
  • 举报
回复
怎么会有这需求?自己做编译器?
morgancc 2005-02-28
  • 打赏
  • 举报
回复
自己也顶一下
liulxmooo 2005-02-28
  • 打赏
  • 举报
回复
up
cdo 2005-02-28
  • 打赏
  • 举报
回复
帮你顶上去。
kenMoxi 2005-02-28
  • 打赏
  • 举报
回复
up

110,524

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧