データの長さを指定するヘッダーを含むメッセージを受け取りました。私の例では、処理する 28 文字のメッセージがあります。
一致した数を同じ正規表現で繰り返し回数として使用する方法を見つけようとしています。次のような動作しない例です。
s = "message 28\r\nthis is some random sentence"
matches = re.match(r"(?P<command>\S+)\s+(?P<bytes>\d+)\r\n(?P<data>.{(?P=bytes)})", s, re.DOTALL).groupdict()
私の理解では、私の (?P=bytes) は、正規表現を任意に変更できるようにするのではなく、「bytes」という名前のグループに一致する同じ文字列に一致するため、機能しないのですが、何を達成する方法がありますか? 2 つの正規表現を介して文字列を渡さないようにしたいですか?