<分区>
有人可以向我解释如何使用正则表达式从文件中读取一些信息吗?
我要阅读的信息是这样的格式:
INT "integer"
FLOAT "real"
更准确地说,我几乎不知道如何使用 boost 来做到这一点,所以我需要帮助。
<分区>
有人可以向我解释如何使用正则表达式从文件中读取一些信息吗?
我要阅读的信息是这样的格式:
INT "integer"
FLOAT "real"
更准确地说,我几乎不知道如何使用 boost 来做到这一点,所以我需要帮助。
最佳答案
您希望使用正则表达式解析的语言似乎包含有限数量的关键字,后跟标识符,标识符由字母表中的符号子集组成,并用引号括起来。以下是如何考虑形成这样的正则表达式。
让 Σ 成为您语言中的终端字符集。对于每个标识符,您必须形成一个如下所示的正则表达式
其中 κ 是由终端符号和 α、β、...、ψ< 连接而成的所需关键字/em>, ω ∈ Σ 是允许的标识符终端。例如,让 Σ = {I,N,T,F,L,O,A,i,n,t,e,g,r,a,l,",,' '} . 然后
要形成匹配Rκ任意序列的正则表达式,只需形成R的并集的Kleene闭包即可sub>κ 以及您正在使用的语法所必需的任何添加,或者匹配标识符的子表达式并集的 Kleene 闭包和允许标识符的并集的 Kleene 闭包。
关于c++ - 读取表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7717376/