我需要编写一个正则表达式来确保变量是常量,给定如下输入:
const size N = 1;
const size MAX = 1;
int const stant = 1147;
int x = 4;
这是我创建的表达式:
const\s.*(\]|\s|\*)VARIABLETOCHECK(\(|\[|=|\s|;)
表达式说明:
\s- 空格后“const”。.*- 任意数量的任意符号。(\]|\s|\*)- 应该放在变量之前的符号。VARIABLETOCHECK是我设置要检查的变量名的地方。(\(|\[|=|\s|;)- 应该在变量之后的符号
问题:
问题是如果单词后面只有一个空格,const我的表达就不起作用。
而且每个变量 ( N, MAX, stant) 应该单独匹配:
const\s.*(\]|\s|\*)N(\(|\[|=|\s|;)
这应该只选择字符串:const size N = 1;