2011-10-10 109 views
0

有人能向我解释,我该怎么做才能读取使用正则表达式文件中的一些信息?阅读表达

,我想读的信息的格式如下:

INT "integer" 
FLOAT "real" 

更确切地说,我不知道如何做到这一点使用升压,所以我需要帮助。

+2

多少编程,你知道吗?你做了什么尝试了吗? –

+0

你知道如何使用的正则表达式,只是没有在升压(或C++ 11)?或者你还不知道正则表达式? –

+0

什么语言是您使用? C++?或者任何? –

回答

2

看来好像你想使用正则表达式来解析语言包含关键字的数量有限通过由从字母用引号符号的子集的标识如下。以下是如何思考如何形成这样一个正则表达式。

Σ是集语言终端的字符。对于每一个标识符,则必须形成一个正则表达式看起来像

  • - [Rκ =κ· '' ·“·(α∪β∪...∪ψ∪ω)*· “

其中κ是由终端符号的级联和α形成所需的关键字,β,...,ψωΣ是否在允许标识符端子。例如,让Σ = {I,N,T,F,L,O,A,i,n,t,e,g,r,a,l,',,''}然后

  • - [R INT = I·N·T· '' · “·(ⅰ∪ñ∪吨∪Ë∪克∪[R∪一个∪升)*·”
  • - [R REAL = R·E·A·L·'“·(i∪N∪t∪e∪g∪r∪a∪l)*·”

,从而形成了[Rκ的任何序列匹配的正则表达式,仅仅形成的[Rκ与任何补充是必要的,你正在使用的语法工会的克林关闭用,或匹配的标识符和容许标识符的联合的封闭的Kleene子表达式的并集的级联的克林闭合。

+0

等一下。什么?那么这值得+1,如果没有其他原因,使用这么多的位。 –