мне нужно написать регулярное выражение, чтобы убедиться, что переменная является постоянным, данный вход, как следующее:Регулярное выражение, чтобы убедиться, что переменная является постоянной
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;
попробуйте сделать выражение подходящим для одного пробела и необязательно большего. Кроме того, вы должны, вероятно, сопоставлять ноль или более пробелов вокруг знака равенства, потому что все они являются допустимыми объявлениями const: 'const size n = 1;', 'const ----- size --- n --- = - -1' и 'constsize n = 1' (пробелы указывают пробелы) –
Существует множество различных вариантов определения константных переменных. – yurart
Другое: const unsigned int width = 20, height = 20; "; – yurart