Я новичок в регулярных выражениях, и мне нужно написать набор регулярных выражений, соответствующих различным форматам пакетов данных.Обнаружение пакетов с использованием regex
Моя проблема заключается в том, что мне обычно нужно искать начальную и конечную части пакета, чтобы различать их, данные между ними не имеют значения.
Каков наиболее эффективный способ игнорировать данные между началом и концом?
Вот простой пример. Пакет, который я ищу, начинается с $ CH; и заканчивается #
В настоящее время мой регулярное выражение \$CH;.*?#
Это. *? Я волнуюсь о. Есть ли лучший (или более эффективный) способ принять любой символ между заголовком пакета и конечным символом?
Кроме того, некоторые из пакетов имеют \ n символы в данных, поэтому используйте. не будет работать вообще, если это означает [^ \ n].
Я также рассмотрел [^\x00]*?
для обнаружения любых символов, поскольку значение null никогда не используется в данных.
Любые предложения?
Мне нравится \ $ CH; [^ #] * # лучший до сих пор. Вопрос: если бы я использовал \ $ CH; [^ #] *? # Вместо этого, вопросительный знак был бы чисто избыточным? – CodeFusionMobile
Да, это было бы излишним. –