读一个表达

Read an expression

本文关键字:一个      更新时间:2023-10-16

有人能给我解释一下我怎么能做从一个文件中读取一些信息使用正则表达式?

我想读的信息是这样的格式:

INT    "integer"
FLOAT  "real"

更准确地说,我几乎不知道如何使用boost来实现这一点,所以我需要帮助。

看起来好像您希望使用正则表达式解析的语言包含有限数量的关键字,后面跟着由引号包围的字母表中的符号子集组成的标识符。下面是如何考虑形成这样一个正则表达式。

Σ为您的语言中的终端字符集。对于每个标识符,必须形成一个类似于

的正则表达式。
  • R <子>κ子> ·"

,其中κ是由终端符号和αβ,…, ψωΣ是允许的标识端子。例如,Σ ={我N T、F、L O, A, I, N, T, e, g, r, L,"、"}。

  • R <子> INT子> * 共舞·"
  • R
  • <子>的 = R·E·A·L · ' ' · " · ( 我∪n∪t∪e∪g∪r∪∪l) <一口> * 共舞·"

要形成匹配任何Rκ序列的正则表达式,只需形成Rκ的并集的Kleene闭包,加上您正在使用的语法所需的任何添加,或者匹配标识符的子表达式的并集的Kleene闭包和允许的标识符的并集的Kleene闭包。