0

別の質問:

フィールドで特定のパターンを検索しようとしていますが、次のケースに対処する必要があります。

この行は正しい解釈を返します

f27 = re.findall( b'\x03\x00\x00\x27''(.*?)''\xF7\x00\xF0', s)

しかし、これは x28 が '()' 括弧に関連しているため、正しく解釈されませんでした

f28 = re.findall( b'\x03\x00\x00\x28''(.*?)''\xF7\x00\xF0', s)

トレースバック (最新の呼び出しが最後): ファイル ""、1 行目、ファイル "D:\Portable Python 2.7.2.1\App\lib\re.py"、177 行目、findall return _compile(pattern, flags).findall (string) File "D:\Portable Python 2.7.2.1\App\lib\re.py", line 244, in _compile raise error, v # 無効な式エラー: 括弧のバランスが取れていません

いくつかのエスケープ '\' と '/' を試しましたが、うまくいきませんでした。

解決策はありますか?

どうも

4

1 に答える 1

0

Try using raw bytestrings. The re module itself understands escape sequences.

f28 = re.findall(br'\x03\x00\x00\x28(.*?)\xF7\x00\xF0', s)
于 2012-07-05T15:29:52.493 に答える