我需要编写一个正则表达式来确保变量是常量,给定如下输入:
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;