正規表現の文字セットは[]で指定します。文字セットは、囲まれた文字のいずれかと一致します。たとえば、[abc]は 'a'、 'b'、または 'c'のいずれかと一致します。Pythonとre2cの正規表現の文字セットの違い
Pythonとre2c正規表現の文字セットには、潜在的な違いがあることがわかります。私は両方で同じであるか知っている:
- どちら例えば[AZ]は、すべて小文字に一致し、範囲を受け入れる
- どちらの両方の共通英数字を受け入れる[^ ...]の表記
- を使用して逆のセットを受け入れますおよび他のいくつかの文字(スペースなど)
は、しかし、私は、これらは異なる可能性があることについて心配:
- Charact文字の内側にエスケープする必要がERSはどこリテラルを配置する場所を
- を設定「 - 」または「^」私はその文字を一致させたいと逆のセットまたは範囲
Pythonとre2cの文字セットの違いを説明できますか?
re2cについて聞いたことがありませんが、使用例は見えませんあなたの平均的なPCREのように - そしてPythonの 're'もPCREなので、(lookaroundのようなより高度な機能ではほとんどの微妙な意味の違いで)大きな違いはありません。 – delnan
re2cはPCRE/Pythonを大幅に削除したバージョンです。これはDFAを使用して、複数の正規表現を一度にすべての一致についてチェックします。つまり、長さがO(n)文字の正規表現がm個あれば、re2cはPCREとPythonが最高にできるO(m * n)ではなく、O(n)で一致するものを判別します。 re2cは消費電力が少ないので、文字数が少ないということは、文字セットが異なる可能性があることを意味する特別な意味を意味します。 –