
    r                     V    S r SSKJr  SSKJr  SSKJr  SSKrSSKJr   " S S\5      r	g)	z&Utilities for regex in gcloud storage.    )absolute_import)division)unicode_literalsN)debug_outputc                   4    \ rS rSrSrS	S jrS rS rS rSr	g)
Patterns   z<Holds multiple regex strings and checks matches against all.c                 r    U Vs/ s H  n[         R                  " U5      PM     snU l        X l        gs  snf )zInitializes class.N)recompile	_patterns_ignore_prefix_length)selfpattern_stringsignore_prefix_lengthxs       4lib/googlecloudsdk/command_lib/storage/regex_util.py__init__Patterns.__init__   s+    -<=_bjjm_=DN!5 >s    4c                 ^   ^ XR                   S m[        U4S jU R                   5       5      $ )z,Checks if string matches any stored pattern.Nc              3   D   >#    U  H  oR                  T5      v   M     g 7fN)match).0ptarget_substrings     r   	<genexpr>!Patterns.match.<locals>.<genexpr>%   s     B>a())>s    )r   anyr   )r   targetr   s     @r   r   Patterns.match"   s*    88:;B4>>BCC    c                 .    [         R                  " U 5      $ r   )r   generic_repr)r   s    r   __repr__Patterns.__repr__'   s    $$T**r"   c                     [        U[        U 5      5      (       d  [        $ U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r   )
isinstancetypeNotImplementedr   r   )r   others     r   __eq__Patterns.__eq__*   sH    eT$Z((%//) 	F&&%*E*EEr"   )r   r   N)r   )
__name__
__module____qualname____firstlineno____doc__r   r   r%   r,   __static_attributes__ r"   r   r   r      s    D6
D
+r"   r   )
r2   
__future__r   r   r   r   googlecloudsdk.core.utilr   objectr   r4   r"   r   <module>r8      s%    - &  ' 	 1v r"   