
    h              
          S SK J r   S SKrS SKrS SK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\R(                  R+                  SS\
R,                  4S	S
SS\R.                  \
R,                  4/5      \R(                  R+                  SSS/5      S 5       5       rS rS rS r\R(                  R9                  S5      \R(                  R+                  SSS/5      \R(                  R+                  SSS/5      \R(                  R+                  SS\R.                  \
R,                  /5      \R(                  R+                  SSS/5      S 5       5       5       5       5       r\R(                  R+                  S/ SQ5      S 5       r\R(                  R9                  S5      \R(                  R+                  SSS/5      \R(                  R+                  SSS/5      \R(                  R+                  SS\R.                  \
R,                  /5      \R(                  R+                  SSS/5      S  5       5       5       5       5       r\R(                  R+                  S/ SQ5      S! 5       r S" r!S# r"S$ r#S% r$\R(                  R+                  S&SS'S(S)0/5      \R(                  R+                  S*/ S+Q/ S,Q/5      S- 5       5       r%S. r&\R(                  R+                  S&S/ S0 SUS1 j/5      S2 5       r'S3 r(S4 r)S5 r*S6 r+S7 r,S8 r-\R(                  R+                  S9SS:S:\R.                  /4SS:S\R.                  /4/5      S; 5       r.S< r/S= r0S> r1S? r2S@ r3\R(                  R+                  SSS/5      SA 5       r4SB r5SC r6SD r7SE r8SF r9SG r:SH r;SI r<SJ r=SK r>SL r?SM r@SN rA\R(                  R+                  SOS\R                  " S\R                  " SP5      SQ9/5      SR 5       rDSS rEST rFg)V    )datetimeN)Series_testing)_convert_na_valueis_object_or_nan_string_dtypec           	      	   [         R                  " S[         R                  SSS/[         R                  S9n[	        XS9nSnUR
                  R                  U5      nU S:X  a  [	        / SQ[        S9nOR[        U 5      (       a  S	OS
n[	        [         R                  " S[         R                  SSS/[         R                  S9US9n[        R                  " X45        UR
                  R                  USS9nU S:X  a  [	        / SQ[        S9nO>[	        [         R                  " S[         R                  SSS/[         R                  S9WS9n[        R                  " X45        [	        [         R                  " / SQ[        S9U S9nUR
                  R                  U5      n[        U 5      (       a  [         R                  OS
n[	        [         R                  " / SQ5      US9n[        R                  " X45        [	        [         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                  " X45        UR
                  R                  SSSS9n[	        [         R                  " / SQ5      US9n[        R                  " X45        [	        [         R                  " S[         R                  SS/[         R                  S9U S9nSnUR
                  R                  U5      nU S:X  a  [	        / SQ[        S9nOQ[        U 5      (       a  S	OS
n[	        [         R                  " S[         R                  SS/[         R                  S9US9n[        R                  " X45        UR
                  R                  USS9n[        U 5      (       a  [         R                  OS
n[	        [         R                  " / SQ5      US9n[        R                  " X45        [	        [         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                  " X45        g )Nfoofooommm__foommm_zfoommm[_]+bardtypezmmm[_]+str)FFTTFobjectbooleanFTregex)FFFFT)r	   xyzr
   r   )FFTT)FooxYzfOOomMm__fOoMMM_zFOO|mmmcase)TFTT)r   r   )TFTFna)nparraynanobject_r   r   containsboolr   tmassert_series_equalr   bool_)any_string_dtypevaluespatresultexpectedexpected_dtypes         ^/var/www/html/shao/venv/lib/python3.13/site-packages/pandas/tests/strings/test_find_replace.pytest_containsr,      s   XX	@

F F3F
CZZ  %F5 ;4H 66FGGHY 	 HHeRVVT47rzzJ 

 6,ZZ  E 2F5 <DIHHeRVVUE48

K 
 6,
7vFF ZZ  %F12BCC  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5 4DA 66FGGHY 	 HHeRVVT40

C 
 6,ZZ   /F12BCC  bhh9:.QH6,
7rzzJF ZZ  %Fbhh9:.QH6,    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(   r)   s      r+   test_contains_object_mixedr7   v   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 )Nr/   r0   ccategoryr   Tr   )TFFTTF)TFFTF)r   r   r   r   r    r"   r#   )r&   r(   r)   s      r+   *test_contains_na_kwarg_for_object_categoryr;      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SnS n[        R                  " U5      (       d  [        U[        5      (       d  [        n[        R                  " XeS9   UR                  R                  SXS9nS S S 5        [        SS	S	SU/S
S9n[        R                  " WU5        g ! , (       d  f       N5= f)Nr/   r0   r9   r   ]Allowing a non-bool 'na' in obj.str.contains is deprecated and will raise in a future versionmatch)r   r   TFr   )r   r   r   pdisna
isinstancer!   FutureWarningr"   assert_produces_warningr   r    r#   )nullable_string_dtyper   r)   r   r&   msgwarnr(   s           r+   0test_contains_na_kwarg_for_nullable_string_dtyperI      s    " S#sC08MNF	)  D772;;z"d33		#	#D	4$$SR$= 
5tUE4:)LH68, 
5	4s   ,B66
Cc                 \   [        SSSSSS[        R                  SSS	/
U S
9nUR                  R	                  S5      nU S:X  a	  [
        nSnO$[        U 5      (       a  SOSn[        R                  n[        SSSSSSUSSS/
US
9n[        R                  " X%5        UR                  R	                  SSS9n[        SSSSSSUSSS/
US
9n[        R                  " X%5        UR                  R	                  S5      n[        SSSSSSUSSS/
US
9n[        R                  " X%5        UR                  R	                  S5      n[        SSSSSSUSSS/
US
9n[        R                  " X%5        UR                  R	                  SSS9n[        SSSSSSUSSS/
US
9n[        R                  " X%5        g )NABCAabaBaca CABAdogcatr   r/   r   Fr   r   Tr   Aaba)	r   r   r   r   r    r!   r   r"   r#   )r%   sr(   r*   na_valuer)   s         r+   test_contains_moarrX      s   	c3BFFFE5I	A
 UU^^C F5  66FGGHY 	 66	udD%5%NH 6,UU^^Ce^,F	ueT4$tLH 6,UU^^D!F	udE5(E5%PH 6,UU^^D!F	udE5(E5%PH 6,UU^^Du^-F	udD%4NH 6,r-   c                    [        [        R                  [        R                  [        R                  /U S9nUR                  R	                  SSS9n[        U 5      (       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 S	5      (       a-  U R                  S
:X  a  U R                  [        R                  L d  Sn[        R                  " [        US9   UR                  R	                  SSS9nS S S 5        U S:X  a  [        / SQ[        R                  S9nODU R                  [        R                  L a  [        / SQ[        R                  S9nO[        / SQSS9n[        R                  " X$5        UR                  R	                  S5      nU S:X  a  [        / SQ[        S9nOK[        U 5      (       a  SOSn[        [        R                  [        R                  [        R                  /US9n[        R                  " X$5        g ! , (       d  f       GN= f)Nr   r	   Fr   r   )FFFT)TTTstoragepythonr>   r?   r   )r	   r	   r	   r   )r   r   r   r   r    r   r$   r"   r#   hasattrrZ   rW   rE   rD   r   r!   )r%   rV   r(   r*   r)   rG   s         r+   test_contains_nanr]      s   '/?@AUU^^Ee^,F12BCC  +>BH6,UU^^Ed^+F(?H6, 	 ),,$$0%%/- 	 ''SAUU^^Ee^4F Bx'32::FH&&"&&00AH0	BH
v0UU^^E"F5 /t< 66FGGHY 	 2662662662.I6,' BAs   +I
I,c           	      X   US:X  aY  UR                   [        R                  L a<  UR                  S:X  a,  U R	                  [
        R                  R                  SS95        [        S[        R                  SSS[        R                  S	/US
9nSn[        R                  " [        US9   UR                  R                  SSS9  S S S 5        Sn[        R                  " [        US9   UR                  R                  SSS9  S S S 5        g ! , (       d  f       NM= f! , (       d  f       g = f)Nstringr[   zTODO(infer_string))reasonomfoo_nomnombar_foor	   r   z<Allowing a non-bool 'na' in obj.str.startswith is deprecatedr?   kapowbazr   z:Allowing a non-bool 'na' in obj.str.endswith is deprecatedbar)rW   r   r   rZ   applymarkerpytestmarkxfailr   r"   rE   rD   r   
startswithendswith)requestr%   serrG   s       r+   $test_startswith_endswith_validate_narp   *  s    H$%%/$$0FKK--5I-JK
	rvvy%BFFEBC
 IC		#	#M	=7u- 
>
FC		#	#M	=5) 
>	= 
>	= 
>	=s   (D
&D

D
D)z4ignore:Downcasting object dtype arrays:FutureWarningr'   r	   )r	   rf   r   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OMUS	:X  a  Uc  S XwR                  5       '   O1U(       a*  US
:X  a$  UR                  S5      R                  [        5      n[        R                  " Xg5        UR                  R                  XS9n[        SUSSSUS/5      n[        R                  " Xg5        [        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 Nra   rb   rc   rd   r	   r   FTr   r:   r   r/   r0   r1   r2   f)r   r   rl   r   r   rA   NAfillnarB   astyper!   r"   r#   r   r   r4   r   r'   r   rq   r   using_infer_stringr&   r(   expr6   rsxps              r+   test_startswithr}   ?  s    	z9eY
EJF
 ZZ""3'F
%ueRVVTB
CCZ2550jj$	(	z1HHJ	 3jj&&t,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[        U 5      (       a  Uc  [        O[
        OSnU S:X  a  [
        nUc  Sn[        SUSSSUSSS/	US9n[        R                  " X55        UR                  R                  S	US9n[        SUSSSUSSS/	US9n[        R                  " X55        g 
N)	ra   Nrb   rc   rd   Nr	   r   rege.r   r	   r   r   r   FTr   )r   r   rl   r   r   r!   r"   r#   r%   r   r&   r(   r*   rz   s         r+   test_startswith_string_dtyper   d  s    PF ZZ""5R"0F ))9:: :4 
 5 :B
	D%D%?~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OMUS	:X  a  Uc  S XwR                  5       '   O1U(       a*  US
:X  a$  UR                  S5      R                  [        5      n[        R                  " Xg5        UR                  R                  XS9n[        SUSSSUS/5      n[        R                  " Xg5        [        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 rs   )r   r   rm   r   r   rA   ru   rv   rB   rw   r!   r"   r#   r   r   r4   r   rx   s              r+   test_endswithr     s    	z9eY
EJF
 ZZ  %F
%tRVVTB
CCZ2550jj$	(	z1HHJ	 3jj&&t,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[        U 5      (       a  Uc  [        O[
        OSnU S:X  a  [
        nUc  Sn[        SUSSSUSSS/	US9n[        R                  " X55        UR                  R                  S	US9n[        SUSSSUSSS/	US9n[        R                  " X55        g r   )r   r   rm   r   r   r!   r"   r#   r   s         r+   test_endswith_string_dtyper     s    PF ZZ  2 .F ))9:: :4 
 5 :B
	E5$D%?~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[_]*rP   Tr   foobarr   r   r   r   replacer"   r#   r%   ro   r(   r)   s       r+   test_replacer     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 )Nr   r   	foobarBADr   rP   r1   Tnr   foo__barBADBADFr   r%   ro   r)   r(   s       r+   test_replace_max_replacementsr     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fooBADr1   r2   r   rP   r   r/   r0   r	   r   )
r   r   r   r   r4   r   r   r   r"   r#   ro   r(   r)   s      r+   test_replace_mixed_objectr     s    
	x~~'74CPC C[__$$Y$$?F	bffc2662665$GvH 6,r-   c                     [        SR                  S5      /U S9n[        SR                  S5      /U S9nUR                  R                  SS[        R
                  SS9n[        R                  " X25        g )	N   abcd,àutf-8r      abcd, à(?<=\w),(?=\w), Tflagsr   )r   decoder   r   reUNICODEr"   r#   r   s       r+   test_replace_unicoder     sg    
"))'23;K
LC(//89AQRHWW__.BJJd_SF6,r-   replr<   r/   r0   data)r/   r0   N)r/   r0   r9   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   r?   r/   )ri   raises	TypeErrorr   r   )r%   index_or_seriesr   r   rG   objs         r+   #test_replace_wrong_repl_type_raisesr     s?     .C
$
7C	y	,T" 
-	,	,s   A
Ac                     [        S[        R                  /U S9nS nUR                  R	                  SUSSS9n[        S[        R                  /U S9n[
        R                  " X45        g )	Nr   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__baRbaDr   )r%   ro   r   r(   r)   s        r+   test_replace_callabler     s_    
"BFF+3C
DC +DWW___dat_DF'08HIH6,r-   c                      g N 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                     [        S[        R                  /U S9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   r   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?r?   r/   Tr   )r   r   r   ri   r   r   r   r   )r%   r   r&   rG   s       r+   test_replace_callable_raisesr   	  sZ    
 %rvv.6FGF	0  
y	,

3D1 
-	,	,s   A
A)c                     [        S[        R                  /U S9nSnS nUR                  R	                  X#SS9n[        S[        R                  /U S9n[
        R                  " XE5        g )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%   ro   r'   r   r(   r)   s         r+   "test_replace_callable_named_groupsr     s[    
-(0@
AC
9C1DWW__Sd_3Fubffo-=>H6,r-   c                    [        S[        R                  /U S9n[        R                  " S5      nUR
                  R                  USSS9n[        S[        R                  /U S9n[        R                  " X45        UR
                  R                  USSSS	9n[        S
[        R                  /U S9n[        R                  " X45        g )Nr   r   BAD_*rP   Tr   r   r1   r   r   	r   r   r   r   compiler   r   r"   r#   )r%   ro   r'   r(   r)   s        r+   test_replace_compiled_regexr   #  s    
"BFF+3C
DC **X
CWW__S"D_1Fx(0@AH6,WW__S"_6F{BFF+3CDH6,r-   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   r1   r2   rP   r   r/   r0   r	   r   )r   r   r   r   r   r   r4   r   r   r   r"   r#   )r'   ro   r(   r)   s       r+   (test_replace_compiled_regex_mixed_objectr   2  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UR
                  R                  USSS	9n[        R                  " XB5        g )
Nr   r   r   r   r   r   r   Tr   )	r   r   r   r   r   r   r   r"   r#   )r%   ro   r)   r'   r(   s        r+   #test_replace_compiled_regex_unicoder   >  su    
"))'23;K
LC(//89AQRH
**&bjj
9CWW__S$d_3F6,r-   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?   rP   Tr   Fr   r   )r   r   r   r   r   ri   r   
ValueErrorr   r   
IGNORECASEr%   ro   r'   rG   s       r+   "test_replace_compiled_regex_raisesr   F  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UR
                  R                  X2SSS9n[        S[        R                  /U S9n[        R                  " XE5        g )	Nr   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%   ro   r   r'   r(   r)   s         r+   $test_replace_compiled_regex_callabler   X  si    
"BFF+3C
DC*D
**_
%CWW__S!4_8F'08HIH6,r-   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.rU   r   r   )r   r)   r%   ro   r(   s        r+   test_replace_literalr   b  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>o  r   r-   z2Cannot use a callable replacement when regex=Falser?   abcFr   )r   ri   r   r   r   r   )r%   ro   r   rG   s       r+   $test_replace_literal_callable_raisesr   m  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?   rP   Fr   )r   r   r   ri   r   r   r   r   r   s       r+   $test_replace_literal_compiled_raisesr   v  sR    
+
,C
**_
%C
OC	z	-Ru- 
.	-	-s   A!!
A/c                 >   [        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        UR                  R	                  S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SSSS9n[        SSSSSS[        R                  SSS/
U S
9n[
        R                  " X#5        g )NrK   rL   rM   rN   rO   rP   rQ   rR   rS   r   YYYYYYabaCYYYBYYYFr   
YYYYYYbYYYBYYYcYYYcYYYtz^.a|dogzXX-XX Tr   zXX-XX bazXX-XX cazXX-XX BAzXX-XX tr   r   s       r+   test_replace_moarr     s8   
	c3BFFFE5IC
 WW__S%(F	S(FB
E5QH 6,WW__S%e_4FFF	
 H 6,WW__YuD_IFFF	
 H 6,r-   c                 z   [        SSSS[        R                  /U S9nUR                  R	                  SSSSS	9n[        S
S
SS[        R                  /U S9n[
        R                  " X#5        UR                  R	                  SS
SSS	9n[        S
S
SS[        R                  /U S9n[
        R                  " X#5        g )NzA.za.Ababr   r/   r9   Fr   zc.cbr   r   s       r+   )test_replace_not_case_sensitive_not_regexr     s    
$dD"&&19I
JCWW__S#E_?FtT4rvv6>NOH6,WW__T4e5_AFtT4rvv6>NOH6,r-   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 )	Nr/   r0   acrP   r   z^.$Tr   r   )r%   rV   r(   r)   s       r+   test_replace_regexr     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.r0   rP   r   r/   r   aaaaabr   )r   r%   rV   r(   r)   s        r+   #test_replace_regex_single_characterr    s     	sC,4DEAUU]]35]1F5#sBFFB7?OP5#sBFFB7?OP6,r-   c                    U S:X  a	  [         nSnO$[        U 5      (       a  SOSn[        R                  n[	        S[        R                  S/U S9nUR
                  R                  S5      n[	        S	US/US9n[        R                  " XE5        [	        SS
[        R                  S/U S9nUR
                  R                  S5      n[	        S	S	US/US9n[        R                  " XE5        UR
                  R                  S5      n[	        SS	US/US9n[        R                  " XE5        [	        SS[        R                  S/U S9nUR
                  R                  S5      n[	        SSUS/US9n[        R                  " XE5        UR
                  R                  S5      n[	        SS	US/US9n[        R                  " XE5        g )Nr   Fr   r   r   r	   r   .*(BAD[_]+).*(BAD)TBAD_BADleroybrown.*BAD[_]+.*BADzBAD[_]+.*BADz^BAD_BADleroybrownz^BAD[_]+.*BADz\^BAD[_]+.*BAD)	r!   r   r   r   r   r   r@   r"   r#   )r%   r*   rW   r&   r(   r)   s         r+   
test_matchr    s   5  66FGGHY 	 66%rvvu5=MNFZZ23FtXu-^DH6,	.>FVF ZZ./FtT8U3>JH6,ZZn-FudHe4NKH6,	/?GWF ZZo.FueXu5^LH6,ZZ/0FudHe4NKH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	   r1   r2   r  F)
r   r   r   r   r4   r   r@   rC   r"   r#   r5   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 5      (       a  [        R                  OSn[        / SQUS9n[        R                  " X$5        UR                  R	                  S5      nU S:X  a	  [        nSnO$[        U 5      (       a  S	OSn[        R                  n[        S
SU/US9n[        R                  " X$5        g )Nr/   r0   r   Fr   r   )TFFr   r   T)
r   r   r   r   r@   r   r$   r"   r#   r!   )r%   rV   r(   r*   r)   rW   s         r+   test_match_na_kwargr    s    S"&&!)9:AUU[[['F12BCC  *.AH6,UU[[F5  66FGGHY 	 66tUH-^DH6,r-   c                     [        / SQU S9nUR                  R                  SSS9n[        U 5      (       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*   r)   s        r+   test_match_case_kwargr  /  s_    .6FGFZZd/F12BCC  .nEH6,r-   c                 ,   [        SS[        R                  S/U S9nUR                  R	                  S5      nU S:X  a  [        / SQ[
        S9nO0[        U 5      (       a  SOS	n[        S
S[        R                  S/US9n[        R                  " X#5        g )Nr   r  r	   r   r  r   TFFFr   r   TF	r   r   r   r   	fullmatchr!   r   r"   r#   r%   ro   r(   r)   r*   s        r+   test_fullmatchr  >  s    
	.>FVC WW/0F5 5TB 66FGGHY 	 46nM6,r-   c                 ,   [        SS[        R                  S/U S9nUR                  R	                  S5      nU S:X  a  [        / SQ[
        S9nO0[        U 5      (       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   )FFFTr   r   FTr  r  s        r+   test_fullmatch_dollar_literalr  O  s    
%BFFF3;K
LCWWx(F5 5TB 66FGGHY 	 5%6nM6,r-   c                     [        SS[        R                  S/U S9nUR                  R	                  SSS9n[        U 5      (       a  [        R                  OSn[        / S	QUS9n[        R                  " X$5        g )
Nr   r  r	   r   r  Fr   r   r  )	r   r   r   r   r  r   r$   r"   r#   )r%   ro   r(   r*   r)   s        r+   test_fullmatch_na_kwargr  ^  sr    
	.>FVC WW/E:F12BCC  1HH6,r-   c                    [        / SQU S9n[        U 5      (       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        UR                  R                  S[        R                  S
9n[        R                  " XC5        g )Nr  r   r   r  r   Tr   )TTFFFr   )
r   r   r   r$   r   r  r"   r#   r   r   )r%   ro   r*   r)   r(   s        r+   test_fullmatch_case_kwargr  j  s    
+3C
DC12BCC  1HHWWt$/F6,0GHWWt%0F6,WWt2==9F6,r-   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 )Nr   r	   r   r   r   BAD__)r   r   r   r   findallr   r"   r#   r   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 )	Nr   r	   Tr   r1   r2   r   r!  )	r   r   r   r   r4   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 5      (       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)   r<   r1   r   )r.        r.  r/  r<   )r.  r<   r1  r.  r/     )r.  r<   r/  r.  r/  )r   r   r   int64r   findr"   r#   r   assert_numpy_array_equalrfind)r%   ro   r*   r(   r)   vs         r+   	test_findr8    sZ   
=EUC 22BCC  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5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   ri   r   r   r   r4  r6  )r%   ro   s     r+   test_find_bad_arg_raisesr:    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 5      (       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.  r1   r/  r1  r<   r2  )
r   r   r   r   float64r   r4  r"   r#   r6  )r%   ro   r*   r(   r)   s        r+   test_find_nanr=    s   
	BFFK8@PC 44DEE

7  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%   r>  r   tabler(   r)   s          r+   test_translaterO    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)r/   r0   r9   g333333?r   rF  r9   der   )	r   r   rK  r   r   r   rL  r"   r#   )rV   rN  r)   r(   s       r+   test_translate_mixed_objectrS    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R                  R	                  U[
        R                  SS9nUR                  S	   R                  5       / S
Q:X  d   eUR                  R                  U[
        R                  S9nUR                  S	   (       d   eUR                  R                  U[
        R                  S9n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                  " [        US9   UR                  R!                  U[
        R                  S9nS S S 5        UR                  S	   (       d   eg ! , (       d  f       N%= 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   r1   zhas match groupsr?   )r   r   r   r   extractr   r   iloctolistr@   r  r"  countr"   rE   UserWarningr    )r%   r   r'   r(   rG   s        r+   test_flags_kwargrb  (  sy   !"vv	D $/D
9CXXctDF;;q>  "&????XX^^Cr}}^5F;;q>>XX2==9F;;q>>XXc7F;;q>! 9999XX^^Cr}}^5F;;q>Q
C		#	#Ks	;""3bmm"< 
<;;q>> 
<	;s   )G
Gr   )Gr   r   numpyr   ri   pandas.util._test_decoratorsutil_test_decoratorstdpandasrA   r   r   r"   pandas.tests.stringsr   r   r,   r7   r;   rj   parametrizeru   r   rI   rX   r]   rp   filterwarningsr}   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#  r%  r8  r:  r=  param
skip_if_norO  rS  rb  r   r-   r+   <module>rn     s,    	   ) ) [-|-"-0 	ruu	
 4-0- 1
-(1-h/-n** RS 788Z"89bffbee'<=e}-# . > : 9 T
#@ 23( 4(D RS 788Z"89bffbee'<=e}-# . > : 9 T
#@ 23( 4(B-	--- $C:!67"24I!JK# L 8#- 
\,.GH
2
2--	--8$- ueRVV45ubff?U7VW--2.0-f
-- 4-0
- 1
-$$-N-(-4--"-	--2--L*LZ-L UFLLR]]95MNO	&	&-r-   