Je suis nouveau dans les expressions régulières et j'ai besoin d'écrire un ensemble d'expressions régulières qui correspondent à différents formats de paquets de données. Mon problème est que, habituellement, je n'ai besoin que de rechercher les parties de début et de fin du paquet pour les distinguer, les données intermédiaires ne sont pas pertinentes.Détection de paquets à l'aide de la regex
Quelle est la manière la plus efficace d'ignorer les données entre le début et la fin?
Voici un exemple simple. Le paquet que je cherche commence par $ CH; et se termine par #
Actuellement, mon regex est \$CH;.*?#
C'est le. *? Je m'inquiète de. Y a-t-il une meilleure façon (ou plus efficace) d'accepter n'importe quel caractère entre l'en-tête du paquet et le caractère de fin?
En outre, certains des paquets ont \ n caractères dans les données, en utilisant ainsi. ne fonctionnera pas du tout si cela signifie [^ \ n].
J'ai également pris en compte [^\x00]*?
pour détecter des caractères, car null n'est jamais utilisé dans les données.
Des suggestions?
J'aime \ $ CH; [^ #] * # meilleur jusqu'ici. Question: si j'ai utilisé \ $ CH; [^ #] *? # À la place, le point d'interrogation serait-il purement redondant? – CodeFusionMobile
Oui, ce serait redondant. –