
    MhȈ              
       `   S SK J r   S SKrS SKrS SKrS SKJr  S SKJs  J	r
  S SKrS SKJrJr  S SKJrJr  S rS rS rS	 r\R.                  R1                  S
S\R2                  4SSSS\R4                  \R2                  4/5      \R.                  R1                  SSS/5      S 5       5       rS rS r\R.                  R1                  SSS/5      \R.                  R1                  SSS/5      \R.                  R1                  SS\R4                  \R2                  /5      \R.                  R1                  SSS/5      S 5       5       5       5       r\R.                  R1                  S/ SQ5      S 5       r\R.                  R1                  SSS/5      \R.                  R1                  SSS/5      \R.                  R1                  SS\R4                  \R2                  /5      \R.                  R1                  SSS/5      S  5       5       5       5       r \R.                  R1                  S/ SQ5      S! 5       r!S" r"S# r#S$ r$S% r%\R.                  R1                  S&SS'S(S)0/5      \R.                  R1                  S*/ S+Q/ S,Q/5      S- 5       5       r&S. r'\R.                  R1                  S&S/ S0 SUS1 j/5      S2 5       r(S3 r)S4 r*S5 r+S6 r,S7 r-S8 r.\R.                  R1                  S9SS:S:\R4                  /4SS:S\R4                  /4/5      S; 5       r/S< r0S= r1S> r2S? r3S@ r4\R.                  R1                  SSS/5      SA 5       r5SB r6SC r7SD r8SE r9SF r:SG r;SH r<SI r=SJ r>SK r?SL r@SM rASN rB\R.                  R1                  SOS\R                  " S\
R                  " SP5      SQ9/5      SR 5       rESS rFST rGg)V    )datetimeN)PerformanceWarning)Series_testing)_convert_na_valueobject_pyarrow_numpyc                     U S;   $ )N)zstring[pyarrow]string[pyarrow_numpy] dtypes    X/var/www/html/env/lib/python3.13/site-packages/pandas/tests/strings/test_find_replace.pyusing_pyarrowr      s    @@@    c           	      N   [         R                  " S[         R                  SSS/[         R                  S9n[	        XS9nSnUR
                  R                  U5      nU [        ;   a  SOSn[	        [         R                  " S	[         R                  S
S
S	/[         R                  S9US9n[        R                  " X55        UR
                  R                  US	S9n[	        [         R                  " S	[         R                  S	S	S
/[         R                  S9US9n[        R                  " X55        [	        [         R                  " / SQ[        S9U S9nUR
                  R                  U5      nU [        ;   a  [         R                  OSn[	        [         R                  " / SQ5      US9n[        R                  " X55        [	        [         R                  " / SQ[        S9U S9nUR
                  R                  SS	S9n[	        [         R                  " / SQ5      US9n[        R                  " X55        UR
                  R                  SS	S	S9n[	        [         R                  " / SQ5      US9n[        R                  " X55        [	        [         R                  " S[         R                  SS/[         R                  S9U S9nSnUR
                  R                  U5      nU [        ;   a  SOSn[	        [         R                  " S	[         R                  S
S
/[         R                  S9US9n[        R                  " X55        UR
                  R                  US	S9nU [        ;   a  [         R                  OSn[	        [         R                  " / SQ5      US9n[        R                  " X55        [	        [         R                  " / SQ[         R                  S9U S9nUR
                  R                  U5      n[	        [         R                  " / SQ5      US9n[        R                  " X55        g )Nfoofooommm__foommm_zfoommm[_]+barr   zmmm[_]+objectbooleanFTregex)r   xyzr   r   )FFTT)FooxYzfOOomMm__fOoMMM_zFOO|mmmcase)TFTT)r   r   )TFTFna)nparraynanobject_r   strcontainsr   tmassert_series_equalr   bool_)any_string_dtypevaluespatresultexpected_dtypeexpecteds         r   test_containsr1      s5   XX	@

F F3F
CZZ  %F!15I!IXyN
%tU32::FH 6,ZZ  E 2F
%t4BJJGH 6,
7vFF ZZ  %F!15I!IRXXyNbhh9:.QH6, 
7vFF
 ZZ   7Fbhh89PH6, ZZ  e% @Fbhh9:.QH6, 
%8

KF CZZ  %F!15I!IXyN
%t,BJJ?~H 6,ZZ   /F!15I!IRXXyNbhh9:.QH6,
7rzzJF ZZ  %Fbhh9:.QH6,r   c                     [        [        R                  " S[        R                  SS[        R
                  " 5       SS SS/	[        S95      n U R                  R                  S5      n[        [        R                  " S	[        R                  S	[        R                  [        R                  SS [        R                  [        R                  /	[        R                  S95      n[        R                  " X5        g )
NabTr             @r   oF)r   r"   r#   r$   r   todayr   r&   r'   r%   r(   r)   mixedr.   r0   s      r   test_contains_object_mixedr;   g   s    
"&&#tX^^%5udAsK	
E YY$F
BFFE2662664rvvrvvN**	
H 6,r   c                  b   [        SSSS[        R                  /SS9n U R                  R	                  SSS9n[        / SQ5      n[
        R                  " X5        U R                  R	                  SS	S9n[        / S
Q5      n[
        R                  " X5        [        SSSS[        R                  /5      n U R                  R	                  SSS9n[        / SQ5      n[
        R                  " X5        U R                  R	                  SS	S9n[        / S
Q5      n[
        R                  " X5        g )Nr3   r4   ccategoryr   Tr    )TFFTTF)TFFTFr   r"   r$   r&   r'   r(   r)   )r,   r.   r0   s      r   *test_contains_na_kwarg_for_object_categoryr@   x   s    S#sC0
CFZZ   .F67H6,ZZ   /F78H6, S#sC01FZZ   .F67H6,ZZ   /F78H6,r   zna, expected)TT)FF)r   F)   Tr   TFc                     [        SSSS[        R                  /U S9nUR                  R	                  SXS9n[        SSSSU/SS9n[
        R                  " XR5        g )	Nr3   r4   r=   r   )r!   r   TFr   r?   )nullable_string_dtyper!   r0   r   r,   r.   s         r   0test_contains_na_kwarg_for_nullable_string_dtyperD      s^    " S#sC08MNFZZ   9FtUE4:)LH6,r   c                    [        SSSSSS[        R                  SSS	/
U S
9nUR                  R	                  S5      nU [
        ;   a  SOSn[        SSSSSS[        R                  SSS/
US
9n[        R                  " X$5        UR                  R	                  SSS9n[        SSSSSS[        R                  SSS/
US
9n[        R                  " X$5        UR                  R	                  S5      n[        SSSSSS[        R                  SSS/
US
9n[        R                  " X$5        UR                  R	                  S5      n[        SSSSSS[        R                  SSS/
US
9n[        R                  " X$5        UR                  R	                  SSS9n[        SSSSSS[        R                  SSS/
US
9n[        R                  " X$5        g )NABCAabaBaca CABAdogcatr   r3   r   r   FTr   Aaba)r   r"   r$   r&   r'   r   r(   r)   r+   sr.   r/   r0   s        r   test_contains_moarrS      s   	c3BFFFE5I	A
 UU^^C F!15I!IXyN	udD%tLH 6,UU^^Ce^,F	ueT4eTJH 6,UU^^D!F	udE5"&&%NH 6,UU^^D!F	udE5"&&%NH 6,UU^^Du^-F	udD%ueLH 6,r   c                    [        [        R                  [        R                  [        R                  /U S9nUR                  R	                  SSS9nU [
        ;   a  [        R                  OSn[        / SQUS9n[        R                  " X$5        UR                  R	                  SSS9n[        / SQUS9n[        R                  " X$5        UR                  R	                  SSS9nU S	:X  a  [        / S
Q[        R                  S9nO-U S:X  a  [        / SQ[        R                  S9nO[        / SQSS9n[        R                  " X$5        UR                  R	                  S5      nU [
        ;   a  S	OSn[        [        R                  [        R                  [        R                  /US9n[        R                  " X$5        g )Nr   r   Fr    r   )FFFT)TTTr   )r   r   r   r
   )
r   r"   r$   r&   r'   r   r*   r(   r)   r%   rQ   s        r   test_contains_nanrU      sI   '/?@AUU^^Ee^,F!15I!IRXXyN+>BH6,UU^^Ed^+F(?H6,UU^^Ee^,F8#/rzzB	4	4,BHH=,I>6,UU^^E"F!15I!IXyNrvvrvvrvv.nEH6,r   r-   r   )r   bazr   r   r>   
null_valuer!   c                    [        SUSSSUS/US9nUR                  R                  U 5      n[        S[        R                  SSS[        R                  S/5      nUS	:X  a%  U[
        R                  L a  UR                  U5      nOUS	:X  a  Uc  S XfR                  5       '   [        R                  " XV5        UR                  R                  XS
9n[        SUSSSUS/5      n[        R                  " XV5        [        R                  " S[        R                  SS[        R                  " 5       SS SS/	[        R                  S9n[        U5      R                  R                  S5      n[        S[        R                  S[        R                  [        R                  SS [        R                  [        R                  /	5      n	[        R                  " X5        g Nomfoo_nomnombar_foor   r   FTr   r    r3   r4   r5   r6   f)r   r&   
startswithr"   r$   pdNAfillnaisnar(   r)   r#   r   r8   r%   
r-   r   rW   r!   r,   r.   expr:   rsxps
             r   test_startswithrh      st    	z9eY
EJF
 ZZ""3'F
%ueRVVTB
CCZ2550jj$	(	z1HHJ6'ZZ""3".F
%T5%T:
;C6' HH	bffc4!15$3GjjE 
			%	%c	*B	rvvrvvtT266266R	SB2"r   )NTFc                 (   [        / SQU S9nUR                  R                  SUS9n[        SUSSSUSSS/	SS9n[        R                  " X45        UR                  R                  SUS9n[        SUSSSUSSS/	SS9n[        R                  " X45        g 	N)	rZ   Nr[   r\   r]   Nr   r   rege.r   r   r    FTr   rk   )r   r&   r_   r(   r)   rC   r!   r,   r.   re   s        r   %test_startswith_nullable_string_dtyperm     s    P#F ZZ""5R"0F
	D%D%?yC 6'ZZ""7r"2F
	E5%UE4@	C 6'r   c                    [        SUSSSUS/US9nUR                  R                  U 5      n[        S[        R                  SSS[        R                  S/5      nUS	:X  a%  U[
        R                  L a  UR                  U5      nOUS	:X  a  Uc  S XfR                  5       '   [        R                  " XV5        UR                  R                  XS
9n[        SUSSSUS/5      n[        R                  " XV5        [        R                  " S[        R                  SS[        R                  " 5       SS SS/	[        S9n[        U5      R                  R                  S5      n[        S[        R                  S[        R                  [        R                  SS [        R                  [        R                  /	5      n	[        R                  " X5        g rY   )r   r&   endswithr"   r$   r`   ra   rb   rc   r(   r)   r#   r   r8   r   rd   s
             r   test_endswithrp   .  sp    	z9eY
EJF
 ZZ  %F
%tRVVTB
CCZ2550jj$	(	z1HHJ6'ZZ   ,F
%UE4T:
;C6' HH	bffc4!15$3GE 
			#	#C	(B	rvvrvvudBFFBFFS	TB2"r   c                 (   [        / SQU S9nUR                  R                  SUS9n[        SUSSSUSSS/	SS9n[        R                  " X45        UR                  R                  SUS9n[        SUSSSUSSS/	SS9n[        R                  " X45        g rj   )r   r&   ro   r(   r)   rl   s        r   #test_endswith_nullable_string_dtyperr   P  s    P#F ZZ  2 .F
	E5$D%?yC 6'ZZ  R 0F
	E5%UE4@	C 6'r   c                     [        S[        R                  /U S9nUR                  R	                  SSSS9n[        S[        R                  /U S9n[
        R                  " X#5        g )NfooBAD__barBADr   BAD[_]*rK   Tr   foobarr   r"   r$   r&   replacer(   r)   r+   serr.   r0   s       r   test_replacer{   h  sU    
"BFF+3C
DCWW__Y$_7Fx(0@AH6,r   c                 h   [        S[        R                  /U S9n[        S[        R                  /U S9nUR                  R	                  SSSSS9n[
        R                  " X25        [        S	[        R                  /U S9nUR                  R	                  S
SSSS9n[
        R                  " X25        g )Nrt   r   	foobarBADru   rK   r5   Tnr   foo__barBADBADFrw   r+   rz   r0   r.   s       r   test_replace_max_replacementsr   p  s    
"BFF+3C
DC{BFF+3CDHWW__Yat_<F6,}bff-5EFHWW__UB!5_9F6,r   c                     [        S[        R                  SS[        R                  " 5       SS SS/	5      n [        U 5      R
                  R                  SSSS	9n[        S
[        R                  S[        R                  [        R                  SS [        R                  [        R                  /	[        S9n[        R                  " X5        g )NaBADbBADTfooBADr5   r6   ru   rK   r   r3   r4   r   r   )
r   r"   r$   r   r8   r&   rx   r   r(   r)   rz   r.   r0   s      r   test_replace_mixed_objectr   |  s    
	x~~'74CPC C[__$$Y$$?F	bffc2662665$GvH 6,r   c                 j   [        SR                  S5      /U S9n[        SR                  S5      /U S9n[        R                  " [        [        U 5      5         UR                  R                  SS[        R                  SS9nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)	N   abcd,àutf-8r      abcd, à(?<=\w),(?=\w), Tflagsr   )r   decoder(   maybe_produces_warningr   r   r&   rx   reUNICODEr)   r   s       r   test_replace_unicoder     s    
"))'23;K
LC(//89AQRH		"	"#5}EU7V	W!2D

RVW 
X68, 
X	Ws   +B$$
B2replrA   r3   r4   data)r3   r4   N)r3   r4   r=   adc                     SnU" X0S9n[         R                  " [        US9   UR                  R	                  SU5        S S S 5        g ! , (       d  f       g = f)Nz!repl must be a string or callabler   matchr3   )pytestraises	TypeErrorr&   rx   )r+   index_or_seriesr   r   msgobjs         r   #test_replace_wrong_repl_type_raisesr     s?     .C
$
7C	y	,T" 
-	,	,s   A
Ac                 T   [        S[        R                  /U S9nS n[        R                  " [
        [        U 5      5         UR                  R                  SUSSS9nS S S 5        [        S[        R                  /U S9n[        R                  " WU5        g ! , (       d  f       N@= f)	Nrt   r   c                 @    U R                  S5      R                  5       $ Nr   groupswapcasems    r   <lambda>'test_replace_callable.<locals>.<lambda>      QWWQZ((*r   [a-z][A-Z]{2}   Tr~   foObaD__baRbaD
r   r"   r$   r(   r   r   r   r&   rx   r)   )r+   rz   r   r.   r0   s        r   test_replace_callabler     s    
"BFF+3C
DC +D		"	"#5}EU7V	W$!4H 
X'08HIH68, 
X	Ws   B
B'c                      g Nr   r   r   r   r   r     s    Tr   c                     g r   r   )r   xs     r   r   r     s    r   c                     g r   r   )r   r   ys      r   r   r     s    4r   c                 T   [        S[        R                  /U S9nSn[        R                  " [
        US9   [        R                  " [        [        U 5      5         UR                  R                  SUSS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nrt   r   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?r   r3   Tr   )r   r"   r$   r   r   r   r(   r   r   r   r&   rx   )r+   r   r,   r   s       r   test_replace_callable_raisesr     s    
 %rvv.6FGF	0  
y	,&&.> ?
 JJsD5
 
-	,
 
 
-	,s#   %BB7B
B	B
B'c                 T   [        S[        R                  /U S9nSnS n[        R                  " [
        [        U 5      5         UR                  R                  X#SS9nS S S 5        [        S[        R                  /U S9n[        R                  " WU5        g ! , (       d  f       N@= f)NzFoo Bar Bazr   z,(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)c                 @    U R                  S5      R                  5       $ )Nmiddler   r   s    r   r   4test_replace_callable_named_groups.<locals>.<lambda>  s    QWWX&//1r   Tr   bARr   )r+   rz   r-   r   r.   r0   s         r   "test_replace_callable_named_groupsr     s    
-(0@
AC
9C1D		"	"#5}EU7V	W$7 
Xubffo-=>H68, 
X	Ws   B
B'c                    [        S[        R                  /U S9n[        R                  " S5      n[
        R                  " [        [        U 5      5         UR                  R                  USSS9nS S S 5        [        S[        R                  /U S9n[
        R                  " WU5        [
        R                  " [        [        U 5      5         UR                  R                  USSSS	9nS S S 5        [        S
[        R                  /U S9n[
        R                  " X45        g ! , (       d  f       N= f! , (       d  f       NP= f)Nrt   r   BAD_*rK   Tr   rv   r5   r~   r}   r   r"   r$   r   compiler(   r   r   r   r&   rx   r)   )r+   rz   r-   r.   r0   s        r   test_replace_compiled_regexr     s    
"BFF+3C
DC **X
C		"	"#5}EU7V	Wb5 
Xx(0@AH68,		"	"#5}EU7V	WbAT: 
X{BFF+3CDH6, 
X	W
 
X	Ws   D$D5$
D25
Ec                     [         R                  " S5      n [        S[        R                  SS[
        R                  " 5       SS SS/	5      n[        U5      R                  R                  U SSS	9n[        S
[        R                  S[        R                  [        R                  SS [        R                  [        R                  /	[        S9n[        R                  " X#5        g )Nr   r   r   Tr   r5   r6   rK   r   r3   r4   r   r   )r   r   r   r"   r$   r   r8   r&   rx   r   r(   r)   )r-   rz   r.   r0   s       r   (test_replace_compiled_regex_mixed_objectr     s    
**X
C
	x~~'74CPC C[__$$S"D$9F	bffc2662665$GvH 6,r   c                    [        SR                  S5      /U S9n[        SR                  S5      /U S9n[        R                  " S[        R                  S9n[
        R                  " [        [        U 5      5         UR                  R                  USSS	9nS S S 5        [
        R                  " WU5        g ! , (       d  f       N&= f)
Nr   r   r   r   r   r   r   Tr   )r   r   r   r   r   r(   r   r   r   r&   rx   r)   )r+   rz   r0   r-   r.   s        r   #test_replace_compiled_regex_unicoder     s    
"))'23;K
LC(//89AQRH
**&bjj
9C		"	"#5}EU7V	Wd$7 
X68, 
X	Ws   <B88
Cc                 ^   [        S[        R                  /U S9n[        R                  " S5      nSn[
        R                  " [        US9   UR                  R                  US[        R                  SS9  S S S 5        [
        R                  " [        US9   UR                  R                  USS	SS
9  S S S 5        [
        R                  " [        US9   UR                  R                  USSSS
9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N^= f! , (       d  f       g = f)NfooBAD__barBAD__badr   r   z9case and flags cannot be set when pat is a compiled regexr   rK   Tr   Fr   r   )r   r"   r$   r   r   r   r   
ValueErrorr&   rx   
IGNORECASEr+   rz   r-   r   s       r   "test_replace_compiled_regex_raisesr     s     '08H
IC
**X
C
EC	z	-Rr}}DA 
. 
z	-Re48 
. 
z	-Rd$7 
.	- 
.	- 
.	- 
.	-s$   +C<DD<
D

D
D,c                 ~   [        S[        R                  /U S9nS n[        R                  " S5      n[
        R                  " [        [        U 5      5         UR                  R                  X2SSS9nS S S 5        [        S[        R                  /U S9n[
        R                  " WU5        g ! , (       d  f       N@= f)	Nrt   r   c                 @    U R                  S5      R                  5       $ r   r   r   s    r   r   6test_replace_compiled_regex_callable.<locals>.<lambda>  r   r   r   r   Tr~   r   r   )r+   rz   r   r-   r.   r0   s         r   $test_replace_compiled_regex_callabler     s    
"BFF+3C
DC*D
**_
%C		"	"#5}EU7V	Wat< 
X'08HIH68, 
X	Ws   B..
B<zregex,expectedbaoc                     [        SS[        R                  /US9n[        XS9nUR                  R	                  SSU S9n[
        R                  " XA5        g )Nzf.or   r   zf.rP   r   rw   )r   r0   r+   rz   r.   s        r   test_replace_literalr     sL    
 %'/?
@Ch7HWW__T4u_5F6,r   c                     [        / U S9nS nSn[        R                  " [        US9   UR                  R                  SUSS9  S S S 5        g ! , (       d  f       g = f)Nr   c                 @    U R                  S5      R                  5       $ r   r   r   s    r   r   6test_replace_literal_callable_raises.<locals>.<lambda>  r   r   z2Cannot use a callable replacement when regex=Falser   abcFr   )r   r   r   r   r&   rx   )r+   rz   r   r   s       r   $test_replace_literal_callable_raisesr     sI    
+
,C*D
>C	z	-t51 
.	-	-s   A
Ac                     [        / U S9n[        R                  " S5      nSn[        R                  " [
        US9   UR                  R                  USSS9  S S S 5        g ! , (       d  f       g = f)Nr   r   zCCannot use a compiled regex as replacement pattern with regex=Falser   rK   Fr   )r   r   r   r   r   r   r&   rx   r   s       r   $test_replace_literal_compiled_raisesr     sR    
+
,C
**_
%C
OC	z	-Ru- 
.	-	-s   A!!
A/c                 6   [        SSSSSS[        R                  SSS	/
U S
9nUR                  R	                  SS5      n[        SSSSSS[        R                  SSS	/
U S
9n[
        R                  " X#5        [
        R                  " [        [        U 5      5         UR                  R	                  SSSS9nS S S 5        [        SSSSSS[        R                  SSS/
U S
9n[
        R                  " X#5        [
        R                  " [        [        U 5      5         UR                  R	                  SSSSS9nS S S 5        [        SSSSSS[        R                  SSS/
U S
9n[
        R                  " X#5        g ! , (       d  f       N= f! , (       d  f       NX= f)NrF   rG   rH   rI   rJ   rK   rL   rM   rN   r   YYYYYYabaCYYYBYYYFr   
YYYYYYbYYYBYYYcYYYcYYYtz^.a|dogzXX-XX Tr   zXX-XX bazXX-XX cazXX-XX BAzXX-XX t)
r   r"   r$   r&   rx   r(   r)   r   r   r   ry   s       r   test_replace_moarr   #  s   
	c3BFFFE5IC
 WW__S%(F	S(FB
E5QH 6,		"	"#5}EU7V	We%8 
XFF	
 H 6,		"	"#5}EU7V	WH5M 
XFF	
 H 6,I 
X	W& 
X	Ws   E9F
9
F

Fc                 t   [        SSSS[        R                  /U S9n[        R                  " [
        [        U 5      5         UR                  R                  SSSSS	9nS S S 5        [        S
S
SS[        R                  /U S9n[        R                  " WU5        [        R                  " [
        [        U 5      5         UR                  R                  SS
SSS	9nS S S 5        [        S
S
SS[        R                  /U S9n[        R                  " X#5        g ! , (       d  f       N= f! , (       d  f       NS= f)NzA.za.Ababr   r3   r=   Fr   zc.cbr   ry   s       r   )test_replace_not_case_sensitive_not_regexr   X  s    
$dD"&&19I
JC		"	"#5}EU7V	WcUC 
XtT4rvv6>NOH68,		"	"#5}EU7V	Wt%uE 
XtT4rvv6>NOH6, 
X	W
 
X	Ws   D?D)
D&)
D7c                     [        SSS[        R                  S/U S9nUR                  R	                  SSSS9n[        SSS[        R                  S/U S9n[
        R                  " X#5        g )	Nr3   r4   acrK   r   z^.$Tr   rw   )r+   rR   r.   r0   s       r   test_replace_regexr   g  s`    S$+3CDAUU]]5#T]2FsCrvvr2:JKH6,r   c                 $   [        SSS[        R                  S/US9nUR                  R	                  SSU S9nU (       a  [        SSS[        R                  S/US9nO[        S	SS[        R                  S/US9n[
        R                  " X45        g )
Nza.b.r4   rK   r   r3   r   aaaaabrw   )r   r+   rR   r.   r0   s        r   #test_replace_regex_single_characterr   o  s     	sC,4DEAUU]]35]1F5#sBFFB7?OP5#sBFFB7?OP6,r   c                    U [         ;   a  SOSn[        S[        R                  S/U S9nUR                  R                  S5      n[        S[        R                  S/US9n[        R                  " X45        [        SS	[        R                  S/U S9nUR                  R                  S
5      n[        SS[        R                  S/US9n[        R                  " X45        UR                  R                  S5      n[        SS[        R                  S/US9n[        R                  " X45        [        SS[        R                  S/U S9nUR                  R                  S5      n[        SS[        R                  S/US9n[        R                  " X45        UR                  R                  S5      n[        SS[        R                  S/US9n[        R                  " X45        g )Nr   r   rt   r   r   .*(BAD[_]+).*(BAD)TFBAD_BADleroybrown.*BAD[_]+.*BADzBAD[_]+.*BADz^BAD_BADleroybrownz^BAD[_]+.*BADz\^BAD[_]+.*BAD)r   r   r"   r$   r&   r   r(   r)   )r+   r/   r,   r.   r0   s        r   
test_matchr     s   !15I!IXyN%rvvu5=MNFZZ23FtRVVU+>BH6,	.>FVF ZZ./FtT26651HH6,ZZn-FudBFFE2.IH6,	/?GWF ZZo.FueRVVU3>JH6,ZZ/0FudBFFE2.IH6,r   c                     [        S[        R                  SS[        R                  " 5       SS SS/	5      n [        U 5      R
                  R                  S5      n[        S[        R                  S[        R                  [        R                  SS [        R                  [        R                  /	5      n[        U[         5      (       d   e[        R                  " X5        g )	NaBAD_BAD	BAD_b_BADTr   r5   r6   r   F)
r   r"   r$   r   r8   r&   r   
isinstancer(   r)   r9   s      r   test_match_mixed_objectr     s    FFNN
	
E E]$$%9:FtRVVT2662665$PRPVPVWXHff%%%%6,r   c                    [        SS[        R                  /U S9nUR                  R	                  SSS9nU [
        ;   a  [        R                  OSn[        / SQUS9n[        R                  " X$5        UR                  R	                  S5      nU [
        ;   a  SOSn[        S	S[        R                  /US9n[        R                  " X$5        g )
Nr3   r4   r   Fr    r   )TFFr   T)	r   r"   r$   r&   r   r   r*   r(   r)   rQ   s        r   test_match_na_kwargr    s    S"&&!)9:AUU[[['F!15I!IRXXyN*.AH6,UU[[F!15I!IXyNtUBFF+>BH6,r   c                     [        / SQU S9nUR                  R                  SSS9nU [        ;   a  [        R
                  OSn[        / SQUS9n[        R                  " X$5        g )Nr   ABr   ABCr   r   Fr   r   )TTTT)r   r&   r   r   r"   r*   r(   r)   )r+   r,   r.   r/   r0   s        r   test_match_case_kwargr    sW    .6FGFZZd/F!15I!IRXXyN.nEH6,r   c                     [        SS[        R                  S/U S9nUR                  R	                  S5      nU [
        ;   a  SOSn[        SS	[        R                  S	/US9n[        R                  " X$5        g )
Nrt   r   r   r   r   r   r   TFr   r"   r$   r&   	fullmatchr   r(   r)   r+   rz   r.   r/   r0   s        r   test_fullmatchr    sm    
	.>FVC WW/0F!15I!IXyNtUBFFE2.IH6,r   c                     [        SS[        R                  S/U S9nUR                  R	                  S5      nU [
        ;   a  SOSn[        SS[        R                  S	/US9n[        R                  " X$5        g )
Nr   zfoo$foozfoo$r   zfoo\$r   r   FTr  r
  s        r   test_fullmatch_dollar_literalr    sf    
%BFFF3;K
LCWWx(F!15I!IXyNueRVVT2.IH6,r   c                     [        SS[        R                  S/U S9nUR                  R	                  SSS9nU [
        ;   a  [        R                  OSn[        / S	QUS9n[        R                  " X$5        g )
Nrt   r   r   r   r   Fr    r   TFFF)	r   r"   r$   r&   r	  r   r*   r(   r)   r
  s        r   test_fullmatch_na_kwargr    sj    
	.>FVC WW/E:F!15I!IRXXyN1HH6,r   c                 <   [        / SQU S9nU [        ;   a  [        R                  OSn[        / SQUS9nUR                  R                  SSS9n[        R                  " XC5        [        / SQUS9nUR                  R                  SS	S9n[        R                  " XC5        [        R                  " [        [        U 5      5         UR                  R                  S[        R                  S
9nS S S 5        [        R                  " XC5        g ! , (       d  f       N%= f)Nr  r   r   r  r   Tr   )TTFFFr   )r   r   r"   r*   r&   r	  r(   r)   r   r   r   r   r   )r+   rz   r/   r0   r.   s        r   test_fullmatch_case_kwargr    s    
+3C
DC!15I!IRXXyN1HHWWt$/F6,0GHWWt%0F6,		"	"#5}EU7V	W""4r}}"= 
X6, 
X	Ws   )D
Dc                     [        S[        R                  SS/U S9nUR                  R	                  S5      n[        SS/[        R                  / S//5      n[        X5      n[        R                  " X#5        g )Nrt   r   r   r   ru   BAD__)r   r"   r$   r&   findallr   r(   r)   ry   s       r   test_findallr    se    
"BFFE59AQ
RCWW__Y'F'eW=>H /H6,r   c                     [        S[        R                  SS[        R                  " 5       SS SS/	5      n U R
                  R                  S5      n[        SS/[        R                  / [        R                  [        R                  S/S [        R                  [        R                  /	5      n[        R                  " X5        g )	Nrt   r   Tr   r5   r6   ru   r  )	r   r"   r$   r   r8   r&   r  r(   r)   r   s      r   test_findall_mixed_objectr    s    
FFNN
	
C WW__Y'FeFFFFFFGFFFF
	
H 6,r   c           
      ,
   [        / SQU S9nU [        ;   a  [        R                  OSnUR                  R                  S5      n[        / SQUS9n[        R                  " X45        [        R                  " [        R                  " U5       Vs/ s H  oUR                  S5      PM     sn[        R                  S9n[        R                  " [        R                  " U[        R                  S9U5        UR                  R                  S5      n[        / SQUS9n[        R                  " X45        [        R                  " [        R                  " U5       Vs/ s H  oUR                  S5      PM     sn[        R                  S9n[        R                  " [        R                  " U[        R                  S9U5        UR                  R                  SS5      n[        / SQUS9n[        R                  " X45        [        R                  " [        R                  " U5       Vs/ s H  oUR                  SS5      PM     sn[        R                  S9n[        R                  " [        R                  " U[        R                  S9U5        UR                  R                  SS5      n[        / SQUS9n[        R                  " X45        [        R                  " [        R                  " U5       Vs/ s H  oUR                  SS5      PM     sn[        R                  S9n[        R                  " [        R                  " U[        R                  S9U5        UR                  R                  SSS	5      n[        / S
QUS9n[        R                  " X45        [        R                  " [        R                  " U5       Vs/ s H  oUR                  SSS	5      PM     sn[        R                  S9n[        R                  " [        R                  " U[        R                  S9U5        UR                  R                  SSS	5      n[        / S
QUS9n[        R                  " X45        [        R                  " [        R                  " U5       Vs/ s H  oUR                  SSS	5      PM     sn[        R                  S9n[        R                  " [        R                  " U[        R                  S9U5        g s  snf s  snf s  snf s  snf s  snf s  snf )N)ABCDEFGBCDEFEF	DEFGHIJEFEFGHEFXXXXr   Int64EF)   rA   r5   r   )r!        r!  r"  rA   )r!  rA   r$  r!  r"     )r!  rA   r"  r!  r"  )r   r   r"   int64r&   findr(   r)   r#   assert_numpy_array_equalrfind)r+   rz   r/   r.   r0   vs         r   	test_findr+  6  sR   
=EUC "25I!IRXXwNWW\\$F&n=H6,xxrxx}=}!}=RXXNHrxx @(KWW]]4 F&n=H6,xx>1>bhhOHrxx @(KWW\\$"F&n=H6,xx"((3-@-Qa-@QHrxx @(KWW]]4#F&n=H6,xx288C=A=aq)=ARHrxx @(KWW\\$1%F'~>H6,xxRXXc]C]a+]C288THrxx @(KWW]]4A&F'~>H6,xxbhhsmDmq!,mDBHHUHrxx @(K? > ? A B D Es$   S8S=%T2T TTc                 P   [        / U S9n[        R                  " [        SS9   UR                  R                  S5        S S S 5        [        R                  " [        SS9   UR                  R                  S5        S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)Nr   z!expected a string object, not intr   r   )r   r   r   r   r&   r'  r)  )r+   rz   s     r   test_find_bad_arg_raisesr-  a  sq    
+
,C	y(K	LQ 
M 
y(K	La 
M	L 
M	L 
M	Ls   B!B
B
B%c                    [        S[        R                  S[        R                  S/U S9nU [        ;   a  [        R                  OSnUR
                  R                  S5      n[        S[        R                  S[        R                  S	/US9n[        R                  " X45        UR
                  R                  S5      n[        S[        R                  S
[        R                  S	/US9n[        R                  " X45        UR
                  R                  SS5      n[        S[        R                  S
[        R                  S	/US9n[        R                  " X45        UR
                  R                  SS5      n[        S[        R                  S
[        R                  S	/US9n[        R                  " X45        UR
                  R                  SSS5      n[        S[        R                  S	[        R                  S	/US9n[        R                  " X45        UR
                  R                  SSS5      n[        S[        R                  S	[        R                  S	/US9n[        R                  " X45        g )Nr  r  r  r   r  r   r!  r5   r"  r$  rA   r%  )
r   r"   r$   r   float64r&   r'  r(   r)   r)  )r+   rz   r/   r.   r0   s        r   test_find_nanr0  j  s   
	BFFK8@PC $47K#KRZZQXNWW\\$Fq"&&!RVVR0GH6,WW]]4 Fq"&&!RVVR0GH6,WW\\$"Fq"&&!RVVR0GH6,WW]]4#Fq"&&!RVVR0GH6,WW\\$1%Fq"&&"bffb1HH6,WW]]4A&Fq"&&"bffb1HH6,r   infer_stringpyarrow)marksc                     U " / SQUS9n[         R                  SS5      nUR                   R                  U5      nU " / SQUS9n[        R                  " XV5        g )N)abcdefgabcccdddfgcdefgggr   r   cde)cdedefgcdeeedddfgedefggg)r&   	maketrans	translater(   assert_equal)r   r+   r1  r   tabler.   r0   s          r   test_translaterB    sX     08HC MM%'EWWu%F08HH OOF%r   c                      [        / SQ5      n [        R                  SS5      n[        SSS[        R                  /[
        S9nU R                  R                  U5      n[        R                  " X25        g )N)r3   r4   r=   g333333?r   r9  r=   der   )	r   r&   r>  r"   r$   r   r?  r(   r)   )rR   rA  r0   r.   s       r   test_translate_mixed_objectrF    sV    #$AMM%'EsCbff-V<HUU__U#F6,r   c                    SSS[         R                  S.n[        XS9nSn[        U 5      nUR                  R                  U[        R                  SS9nUR                  S	   R                  5       / S
Q:X  d   e[        R                  " [        U5         UR                  R                  U[        R                  S9nS S S 5        UR                  S	   (       d   e[        R                  " [        U5         UR                  R                  U[        R                  S9nS S S 5        UR                  S	   (       d   eUR                  R                  U[        R                  S9nUR                  S	   S	   S
:X  d   eUR                  R!                  U[        R                  S9nUR                  S	   S:X  d   eSn[        R"                  " [$        XS(       + S9   UR                  R'                  U[        R                  S9nS S S 5        UR                  S	   (       d   eg ! , (       d  f       GNl= f! , (       d  f       GN= f! , (       d  f       NI= f)Nzdave@google.comzsteve@gmail.comzrob@gmail.com)DaveSteveRobWesr   z,([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})T)r   expandr   )davegooglecomr   r5   zhas match groups)r   raise_on_extra_warnings)r"   r$   r   r   r&   extractr   r   iloctolistr(   r   r   r   r	  r  countassert_produces_warningUserWarningr'   )r+   r   r-   use_pyarrowr.   r   s         r   test_flags_kwargrX    s   !"vv	D $/D
9C 01KXXctDF;;q>  "&????		"	"#5{	C2==9 
D;;q>>		"	"#5{	C##Cr}}#= 
D;;q>>XXc7F;;q>! 9999XX^^Cr}}^5F;;q>Q
C		#	#3
 ""3bmm"<
 ;;q>>' 
D	C 
D	C
 
s$   )H#7)H5)I#
H25
I
Ir   )Hr   r   numpyr"   r   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr`   r   r   r(   pandas.tests.stringsr   r   r   r1   r;   r@   markparametrizera   r$   rD   rS   rU   rh   rm   rp   rr   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r+  r-  r0  param
skip_if_norB  rF  rX  r   r   r   <module>re     s    	   , ) ) AG-T-"-0 	ruu	
 4-0- 1
-)-X-B  788Z"89bffbee'<=e}-# . > : 9#< 23( 4(.  788Z"89bffbee'<=e}-# . > : 9#< 23( 4(.-	--- $C:!67"24I!JK# L 8#	- 
\,.GH66 --"	--8$- ueRVV45ubff?U7VW--2.2-j-- 4-0
- 1
-$-@-(------0--L(LV-H UFLLR]]95MNO	&	&-#r   