Регулярное выражение, рассчитать что-то вроде CRC в нем с проверками - PullRequest
3 голосов
/ 28 января 2011

У меня есть массив байтов, мне нужно проверить, начинается ли он с определенного числа 0, оканчивается на 9, а между ними могут быть любые числа, но после 9 я получаю сумму чисел.

e.g test[] = { 0, 1, 4, 5, 9, 10 };
test[] = { 0, 3, 2, 9, 6, 0, 4, 2, 9, 6 }; - in this there are two sets

Есть ли способ использовать регулярное выражение, чтобы найти это?

1 Ответ

5 голосов
/ 28 января 2011

Это не похоже на обычный язык для меня, поэтому ответ - нет, вы не можете это сделать.

Если размер списка был фиксирован или вам нужна сумма чиселНапример, по модулю 10 это будет очень сложно, но, вероятно, выполнимо.Однако в целом язык, в котором слова состоят из списка чисел и их суммы, не является регулярным, поскольку он тривиально не удовлетворяет лемме прокачки .

* 1006положительная сторона, это легко сделать без регулярных выражений.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...