其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Lex支持的扩展正规表达式优先级大全

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

看过很多讲正则表达式优先级的文章 ,总觉得对Lex来说讲的不完全,一直未找到一个完全的优先级文档,索性自己总结了一份,供使用Lex的弟兄参考

Lex中正则表达式优先级表:

优先级

运算符

说明

1

\

转义符

2

“  ()  []

双引号、括号和中括号

3

*  +  ?  {n}  {n,}  {n,m} {name}

限定符和预定义的名字

4

^  $  \000  char  <<EOF>>

定位符号和序列

5

|  /

, 上下文

 

特别说明:

1、同优先级全部是左结合的

2、在[]中,只有\仍然保留其转义符的意义,其它特殊符号均失去其特殊性,[]中增加了两个符号“- ^”,这两个符号在[]的优先级大于[],出了[]就变成一般的序列符号

3、在“”对中,只有\保留有特殊含义

4{name}中的name如果在定义段中定义过,{name}作为预定义的名字使用,如果name未定义过,则{name}仅仅是{name}的一个序列,{不用转义,当然你用了转义符也没问题

以上是我在使用中的总结,请指正,谢谢!




相关文章

相关软件