
    m*iٶ                     
   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S rS r\R(                  R=                  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(                  R=                  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'S0 r(\R(                  R+                  S(S1 S2 SS3 j/5      S4 5       r)\R(                  R+                  S5S6S7S8/4S9S7S8/4S:S;S</4S=S>S?/4// S@QSA9\R(                  R+                  SBSS/5      SC 5       5       r*\R(                  R+                  S(SDSE/5      \R(                  R+                  SBSS/5      SF 5       5       r+SG r,SH r-SI r.SJ r/SK r0SL r1\R(                  R+                  SMSSNSN\R.                  /4SSNS\R.                  /4/5      SO 5       r2SP r3SQ r4SR r5SS r6ST r7\R(                  R+                  SSS/5      SU 5       r8SV r9SW r:SX r;SY r<SZ r=\R(                  R+                  S[S\SSS//S]SSS//S^SSS//S_SSS//S`SSS//SaSSS//SbSSS///5      Sc 5       r>Sd r?Se r@Sf rASg rBSh rC\R(                  R+                  SiSjSS/ SkQ/SlSS/ SmQ/S^SS/ SmQ/S\SS/ SmQ/SnSS/ SkQ/S`SS/ SmQ/SoSS/ SkQ/SpSS/ SqQ/SrSS/ SmQ/SsSS/ SmQ/StSS/ SkQ/SuSS/ SkQ//5      Sv 5       rDSw rESx rFSy rGSz rHS{ rI\R(                  R+                  S|S\R                  " S\R                  " S}5      S~9/5      S 5       rLS rMS rNg)    )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         f/var/www/html/land-doc-ocr/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_mixedr8   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 )Nr0   r1   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)Nr0   r1   r:   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_dtyperJ      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   r0   r   Fr   r   Tr   Aaba)	r   r   r   r   r!   r"   r   r#   r$   )r&   sr)   r+   na_valuer*   s         r,   test_contains_moarrY      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$   hasattrr\   rX   rF   rE   r    r"   )r&   rW   r)   r+   r*   rH   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                    [        U 5      (       a  [        R                  OSn[        / SQU S9n[        R
                  " S5      nUR                  R                  U5      n[        / SQUS9n[        R                  " XE5        U S:X  aM  U R                  S:X  a=  UR                  R                  USS	9n[        / S
QUS9n[        R                  " XE5        O<[        R                  " [        SS9   UR                  R                  USS	9  S S S 5        [        R
                  " S[        R                  S9nUR                  R                  U5      n[        / S
QUS9n[        R                  " XE5        [        R                  " [        SS9   UR                  R                  U[        R                  S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   )r	   barBazr   zba.FTFstringpyarrowFr   FTT5cannot process flags argument with a compiled patternr@   flags)r   r   r%   r   recompiler   r!   r#   r$   r\   pytestraises
ValueError
IGNORECASEr&   r+   serr(   r)   r*   s         r,   test_contains_compiled_regexrr   %  s|    22BCC  &.>
?C
**U
CWWc"F*.AH6, 8#(8(@(@I(M!!#E!2-^D
v0]]U
 GGSu-

 **U"--
0CWWc"F)@H6, 
Q
 	BMM2
 

 

 
s   .F<
)G<
G

Gc                    [        U 5      (       a  [        R                  OSn[        / SQU S9n[        R
                  " S5      nUR                  R                  U5      n[        / SQUS9n[        R                  " XE5        [        R
                  " S[        R                  S9nUR                  R                  U5      n[        / SQUS9n[        R                  " XE5        [        R
                  " S[        R                  [        R                  -  S9nUR                  R                  U5      n[        / SQUS9n[        R                  " XE5        g )	Nr   )foobarzfoo
barrb   r   z^bar[   rh   rc   rf   )r   r   r%   r   rj   rk   r   r!   r#   r$   	MULTILINEro   rp   s         r,   "test_contains_compiled_regex_flagsrv   I  s     22BCC  .6F
GC
**U
CWWc"F+>BH6,
**U",,
/CWWc"F*.AH6,
**U",,">
?CWWc"F)@H6,r.   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)Nrd   r]   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 deprecatedra   )rX   r   r   r\   applymarkerrl   markxfailr   r#   rF   rE   r   
startswithendswith)requestr&   rq   rH   s       r,   $test_startswith_endswith_validate_nar   f  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	   r~   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 Nry   rz   r{   r|   r	   r   FTr   r;   r   r0   r1   r2   r3   f)r   r   r   r   r   rB   NAfillnarC   astyper"   r#   r$   r   r   r5   r    r(   r   r   r   using_infer_stringr'   r)   expr7   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)	ry   Nrz   r{   r|   Nr	   r   rege.r   r	   r   r   r   FTr   )r   r   r   r   r   r"   r#   r$   r&   r   r'   r)   r+   r   s         r,   test_startswith_string_dtyper     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 r   )r   r   r   r   r   rB   r   r   rC   r   r"   r#   r$   r   r   r5   r   r   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   r   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[_]*rQ   Tr   rt   r   r   r   r   replacer#   r$   r&   rq   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   rQ   r2   Tnr   foo__barBADBADFr   r&   rq   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fooBADr2   r3   r   rQ   r   r0   r1   r	   r   )
r   r   r   r   r5   r   r   r   r#   r$   rq   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ri   r   )r   decoder   r   rj   UNICODEr#   r$   r   s       r,   test_replace_unicoder   )  sg    
"))'23;K
LC(//89AQRHWW__.BJJd_SF6,r.   replr=   r0   r1   data)r0   r1   N)r0   r1   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   r@   r0   )rl   rm   	TypeErrorr   r   )r&   index_or_seriesr   r   rH   objs         r,   #test_replace_wrong_repl_type_raisesr   0  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&   rq   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   F  s    Tr.   c                     g r   r   )r   xs     r,   r   r   F  s    r.   c                     g r   r   )r   r   ys      r,   r   r   F  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@   r0   Tr   )r   r   r   rl   rm   r   r   r   )r&   r   r'   rH   s       r,   test_replace_callable_raisesr   E  sZ    
 %rvv.6FGF	0  
y	,

3D1 
-	,	,s   A
A)zrepl, expected_listz\g<three> \g<two> \g<one>zThree Two OnezBaz Bar Fooz\g<3> \g<2> \g<1>z\g<2>0Two0Bar0z	\g<2>0 \1zTwo0 OnezBar0 Foo)named_groups_full_swapnumbered_groups_full_swapsingle_group_with_literal"mixed_group_reference_with_literal)idsuse_compilec                     [        SS/U S9nSnU(       a  [        R                  " U5      nUR                  R	                  XRSS9n[        X0S9n[
        R                  " Xg5        g )NOne Two ThreeFoo Bar Bazr   ((?P<one>\w+) (?P<two>\w+) (?P<three>\w+)Tr   )r   rj   rk   r   r   r#   r$   )r&   r   r   expected_listrq   patternr)   r*   s           r,   $test_replace_named_groups_regex_swapr   U  s[    @ /=19I
JC9G**W%WW__W$_7Fm<H6,r.   z\g<20>z\20c                    SnU(       a  [         R                  " U5      n[        SS/U S9n[        R                  " [         R
                  SS9   UR                  R                  X1SS9  S S S 5        g ! , (       d  f       g = f)	Nr   r   r   r   zinvalid group referencer@   Tr   )rj   rk   r   rl   rm   errorr   r   )r&   r   r   r   rq   s        r,   2test_replace_named_groups_regex_swap_expected_failr   ~  s`     :G**W%
/=19I
JC	rxx'@	AT2 
B	A	As   A33
B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 )Nr   r   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&   rq   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_*rQ   Tr   rt   r2   r   r   	r   r   r   rj   rk   r   r   r#   r$   )r&   rq   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   r2   r3   rQ   r   r0   r1   r	   r   )rj   rk   r   r   r   r   r5   r   r   r   r#   r$   )r(   rq   r)   r*   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UR
                  R                  USSS	9n[        R                  " XB5        g )
Nr   r   r   r   r   rh   r   Tr   )	r   r   rj   rk   r   r   r   r#   r$   )r&   rq   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@   rQ   Tr   Fr   r   )r   r   r   rj   rk   rl   rm   rn   r   r   ro   r&   rq   r(   rH   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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&   rq   r   r(   r)   r*   s         r,   $test_replace_compiled_regex_callabler    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.rV   r   r   )r   r*   r&   rq   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   rl   rm   rn   r   r   )r&   rq   r   rH   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@   rQ   Fr   )r   rj   rk   rl   rm   rn   r   r   r   s       r,   $test_replace_literal_compiled_raisesr    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 )NrL   rM   rN   rO   rP   rQ   rR   rS   rT   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   r0   r:   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 )	Nr0   r1   acrQ   r   z^.$Tr   r   )r&   rW   r)   r*   s       r,   test_replace_regexr  9  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.r1   rQ   r   r0   r   aaaaabr   )r   r&   rW   r)   r*   s        r,   #test_replace_regex_single_characterr"  A  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   rA   r#   r$   )r&   r+   rX   r'   r)   r*   s         r,   
test_matchr'  T  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	   r2   r3   r$  F)
r   r   r   r   r5   r   rA   rD   r#   r$   r6   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 )Nr0   r1   r   Fr   r   )TFFr   r   T)
r   r   r   r   rA   r   r%   r#   r$   r"   )r&   rW   r)   r+   r*   rX   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   rA   r   r   r%   r#   r$   )r&   r'   r)   r+   r*   s        r,   test_match_case_kwargr4    s_    .6FGFZZd/F12BCC  .nEH6,r.   c                 ,   [        U 5      (       a  [        R                  OSn[        / SQU S9nUR                  R                  [        R                  " S5      5      n[        / SQUS9n[        R                  " X45        U S:X  aa  U R                  S:X  aQ  UR                  R                  [        R                  " S5      SS	9n[        / S
QUS9n[        R                  " X45        OP[        R                  " [        SS9   UR                  R                  [        R                  " S5      SS	9  S S S 5        UR                  R                  [        R                  " S[        R                  S95      n[        / S
QUS9n[        R                  " X45        [        R                  " [        SS9   UR                  R                  [        R                  " S5      [        R                  S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r/  r   r  r   rd   re   Fr   r2  rg   r@   rh   )r   r   r%   r   r   rA   rj   rk   r#   r$   r\   rl   rm   rn   ro   r&   r+   r'   r)   r*   s        r,   test_match_compiled_regexr7    s    22BCC  .6FGFZZbjj./F0GH6, 8#(8(@(@I(M!!"**T"2!?2.I
v0]]U
 JJRZZ-E:

 ZZbjjR]]CDF.nEH6,	Q
 	

D)?
 

 

 
    /G4.=H4
H
Hzpat, case, expr  r  bcz	a[a-z]{1}z	A[a-z]{1}z	(bc)|(ab)z((bc)|(ab))c                     [        SS/U S9nUR                  R                  XS9n[        U 5      (       a  [        R
                  OSn[        X6S9n[        R                  " XW5        g )Nr
  Xabr   r   r   r3  )r&   r(   r   r   rq   r)   r+   r*   s           r,   test_str_match_extra_casesr<    s^     %'7
8CWW]]3]*F 22BCC  c0H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&   rq   r)   r*   r+   s        r,   test_fullmatchrB    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?  rA  s        r,   test_fullmatch_dollar_literalrD    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&   rq   r)   r+   r*   s        r,   test_fullmatch_na_kwargrF    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   TTFFFrh   )
r   r   r   r%   r   r@  r#   r$   rj   ro   )r&   rq   r+   r*   r)   s        r,   test_fullmatch_case_kwargrI    s    
+3C
DC12BCC  1HHWWt$/F6,0GHWWt%0F6,WWt2==9F6,r.   c                 ,   [        U 5      (       a  [        R                  OSn[        / SQU S9nUR                  R                  [        R                  " S5      5      n[        / SQUS9n[        R                  " X45        U S:X  aa  U R                  S:X  aQ  UR                  R                  [        R                  " S5      SS	9n[        / S
QUS9n[        R                  " X45        OP[        R                  " [        SS9   UR                  R                  [        R                  " S5      SS	9  S S S 5        UR                  R                  [        R                  " S[        R                  S95      n[        / S
QUS9n[        R                  " X45        [        R                  " [        SS9   UR                  R                  [        R                  " S5      [        R                  S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r/  r   r  r>  rd   re   Fr   rH  rg   r@   rh   )r   r   r%   r   r   r@  rj   rk   r#   r$   r\   rl   rm   rn   ro   r6  s        r,   test_fullmatch_compiled_regexrK  1  s    22BCC  .6FGFZZ!!"**T"23F1HH6, 8#(8(@(@I(M%%bjj&6U%C4NK
v0]]U
 JJ  D!1 >

 ZZ!!"**T"GHF0GH6,	Q
 	

RZZ-R]]C
 

 

 
r8  zpat, case, na, expr
  )TFFNAbc)FFFNz	a[a-z]{2}abc$zabc\$)FTFNzAbc$zAbc\$z(abc)|(abx)z((abc)|(abx))c                     [        / SQU S9nUR                  R                  XUS9nU S:X  a  SUS'   [        nO[	        U 5      (       a  SOSn[        XGS9n[
        R                  " Xh5        g )	N)r
  rM  z$abcNr   )r   r   r   Fr   r   )r   r   r@  r"   r   r#   r$   )	r&   r(   r   r   r   rq   r)   r+   r*   s	            r,   test_str_fullmatch_extra_casesrP  R  sr    , .6F
GCWWs"5F5 B 66FGGHY 	 c0H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_findallrT  |  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   r2   r3   r   rR  )	r   r   r   r   r5   r   rS  r#   r$   r   s      r,   test_findall_mixed_objectrV    s    
FFNN
	
C WW__Y'FeFFFFFFGFFFF
	
H 6,r.   c           
      8
   [        / 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=   r2   r   rO  )r_        r_  rO  r=   )r_  r=   ra  r_  rO     )r_  r=   rO  r_  rO  )r   r   r   int64r   findr#   r$   r   assert_numpy_array_equalrfind)r&   rq   r+   r)   r*   vs         r,   	test_findrh    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$   S>T+T8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   rl   rm   r   r   rd  rf  )r&   rq   s     r,   test_find_bad_arg_raisesrj    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 )NrX  rZ  r\  r   r]  r^  r_  r2   rO  ra  r=   rb  )
r   r   r   r   float64r   rd  r#   r$   rf  )r&   rq   r+   r)   r*   s        r,   test_find_nanrm    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_stringre   )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&   rn  r   tabler)   r*   s          r,   test_translater~    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)r0   r1   r:   g333333?r
  ru  r:   der   )	r   r   rz  r   r   r   r{  r#   r$   )rW   r}  r*   r)   s       r,   test_translate_mixed_objectr    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)ri   expandr   )davegooglecomrh   r2   zhas match groupsr@   )r   r   r   r   extractrj   ro   iloctolistrA   r@  rS  countr#   rF   UserWarningr!   )r&   r   r(   r)   rH   s        r,   test_flags_kwargr  !  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   )Or   rj   numpyr   rl   pandas.util._test_decoratorsutil_test_decoratorstdpandasrB   r   r   r#   pandas.tests.stringsr   r   r-   r8   r<   r   parametrizer   r   rJ   rY   r_   rr   rv   r   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-  r4  r7  r<  rB  rD  rF  rI  rK  rP  rT  rV  rh  rj  rm  param
skip_if_nor~  r  r  r   r.   r,   <module>r     s    	   ) ) [-|-"-0 	ruu	
 4-0- 1
-(1-h/-d!3H-:** 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  )m,	

 !m,	

 V	

 $	
$	)  6 u6
- 778
- 
 u6
3 7
3--	--8$- ueRVV45ubff?U7VW--2.0-f
-- 4-0
- 1
-$$-N-(-4-@B 	utUm$	teU^$	teU^$	edE]+	dUEN+	dT5M*	tUm,	-- -"-	--(DB  
t78	d78	tT67	ud78	eT#=>	dD"=>	89	5$ :;	t89	4:;	d$>?	$&@A	*-+*-*--L*LZ-L UFLLR]]95MNO	&	&-r.   