我想编写一个 RegEx 来从变量声明语句中提取所有变量值及其名称。说我有
int i,k = 10,l=0
我想写一个像 int\s^,?|(^,?)* 这样的正则表达式 但这也将接受 k = 10 即(前面没有 int) 基本上想法是 如果字符串以 int 开头,则 获取由 , 分隔的变量列表
我知道要提取 csv 值,但这里我的字符串也有一些初始值。我该如何解决?
请您参考如下方法:
开始思考定义的结构,比如说,
(a line can start with some spaces) followed by,
(Type) followed by
(at least one space)
(variable_1)
(optionally
(comma // next var
|
'='number // initialization
) ...`
然后尝试转换每个组:
^ \s* \w+ \s+ \w+ ? (',' | '=' \d+ ) ...
line some type at least var optionally more or init some
start spaces (some chars) one space (some chars) vars val digits
留作作业删除空格并修复最终的正则表达式。
