3

重複の可能性:
非キャプチャグループ?

python re module documentから、私は見ます:

(?:...)  Non-grouping version of regular parentheses.

(...)    Matches the RE inside the parentheses.
         The contents can be retrieved or matched later in the string.

何が違うの?

4

3 に答える 3

5

間もなく:非グループ化とは、グループ化されないことを意味します。つまり、たとえば\1で参照することはできません。

于 2012-04-30T10:38:12.903 に答える
1

違いは基本的にケントが言ったことです。

非常に複雑な正規表現や、パフォーマンスが重要な大量のテキストに適用する場合に役立つことがあります。

また、正規表現で多くのグループ化を使用しているが、後で参照されるのはそのうちの一部だけである場合(テキストの置換などの理由で)、キャプチャグループとして本当に必要なものだけを使用する方が簡単です。数字をスキップする代わりに、\ 1(または$ 1、依存)から\nを参照してください。

于 2012-04-30T10:42:35.497 に答える
0

非グループ化により、実際の一致用語の1つとして返されることなく、一致文字列で文字のシーケンスを使用できます。例として、領収書を検索していて、アイテムの価格のみを取得したいとします。領収書は次のようになります。

milk 1.25
bread 1.15
deli meat 5.25
total 7.65

非グループ化パレンを使用して、合計を示す価格のラインを除外し、他のすべての価格をキャプチャすることができます。

于 2012-04-30T10:43:03.150 に答える