だから、私はコンパイルしたいこの正規表現を持っています:
(?<!\\)(?:(')|")(?(1)(\\'|[^'\r])+?'|(\\"|[^\r"])+?")
それは正常に動作します。しかし、' と " の記号があるため、それらをエスケープする必要があります。
re.compile('''(?<!\\)(?:(')|")(?(1)(\\'|[^'\r])+?'|(\\"|[^\r"])+?")''')
これにより、「括弧のバランスが取れていません」というエラーが表示されます。私も試しました:
re.compile('(?<!\\)(?:(\')|")(?(1)(\\\'|[^\'\r])+?\'|(\\"|[^\r"])+?")')
これらすべてのバックスラッシュは、どういうわけかそれを混乱させていますか? バックスラッシュをエスケープするためにバックスラッシュを追加しなくても理解するのは難しいです...