
    A>i                        S SK J r   S SKrS SKrS SKrS SKJr  S SKJs  J	r
  S SKrS SKJrJrJr  S SKJrJr  S rS rS r\R.                  R1                  S	S\R2                  4S
SSS\R4                  \R2                  4/5      \R.                  R1                  SSS/5      S 5       5       rS rS rS rS r\R.                  R1                  SS/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4/5      \R.                  R1                  S\R@                  SS\R4                  S\R2                  /5      S  5       5       r!S! r"S" r#\R.                  R1                  S#S$S%/5      \R.                  R1                  S&S'S(/5      \R.                  R1                  S)S\R4                  \R2                  /5      \R.                  R1                  SSS/5      S* 5       5       5       5       r$\R.                  R1                  S/ S+Q5      S, 5       r%\R.                  R1                  S#S$S%/5      \R.                  R1                  S&S'S(/5      \R.                  R1                  S)S\R4                  \R2                  /5      \R.                  R1                  SSS/5      S- 5       5       5       5       r&\R.                  R1                  S/ S+Q5      S. 5       r'S/ r(S0 r)S1 r*S2 r+S3 r,S4 r-\R.                  R1                  S5SS6S7S80/5      \R.                  R1                  S9/ S:Q/ S;Q/5      S< 5       5       r.S= r/\R.                  R1                  S5S> S? SS@ j/5      SA 5       r0\R.                  R1                  SBSCSDSE/4SFSDSE/4SGSDSE/4SHSISJ/4SKSLSM/4// SNQSO9\R.                  R1                  SPSS/5      SQ 5       5       r1\R.                  R1                  S5/ SRQ5      \R.                  R1                  SPSS/5      SS 5       5       r2\R.                  R1                  STSUSV/5      SW 5       r3\R.                  R1                  SXSYSZ/ S[Q4S\SZ/ S[Q4/5      \
Rh                  " S]5      S^ 5       5       r5S_ r6S` r7Sa r8Sb r9Sc r:Sd r;\R.                  R1                  SeSfSg/5      Sh 5       r<Si r=Sj r>Sk r?Sl r@Sm rA\R.                  R1                  SSS/5      Sn 5       rB\R.                  R1                  SS/ SoQ4S/ SpQ4S/ SqQ4S/ SrQ4S/ SsQ4/5      St 5       rCSu rDSv rESw rFSx rGSy rHSz rI\R.                  R1                  S{SSSS//S|SSS//S}SSS//S~SSS//SSSS//SSSS//SSSS///5      S 5       rJ\R.                  R1                  SS/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4/5      S 5       rKS rLS rMS rNS rOS rPS rQ\R.                  R1                  SSSS/ SQ/SSS/ SQ/S}SS/ SQ/SSS/ SQ/SSS/ SQ/SSS/ SQ/SSS/ SQ/SSS/ SQ/SSS/ SQ/SSS/ SQ/SSS/ SQ/SSS/ SQ//5      S 5       rR\R.                  R1                  S#/ SQ5      S 5       rSS rTS rUS rV\R.                  R1                  SS/ S7// / /4S/ S8// / /4SS7S7// S7// /4SS7S7/S7// / /4S/ S// / /4/5      S 5       rWS rXS rYS rZS r[\R.                  R1                  SS\R                  " S\
Rh                  " S]5      S9/5      S 5       r]S r^S r_g)    )datetimeN)lib)SeriesStringDtype_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         e/var/www/html/land-tabula/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_mixedr:   x   s    
"&&#tX^^%5udAsK	
E YY$F
BFFE2662664rvvrvvN**	
H 6,r0   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 )Nr2   r3   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,r0   zna, expected)TT)FF)r   F)   Tr   TFc                 x   [        SSSS[        R                  /U S9nUS;   aG  USLaB  SU 3n[        R                  " [
        US9   UR                  R                  SXS	9  S S S 5        g UR                  R                  SXS	9n[        S
SSS
U/SS9n[        R                  " Xb5        g ! , (       d  f       g = f)Nr2   r3   r<   r   )r   r?   Fz4na must be None, pd.NA, np.nan, True, or False; got match)r   r   Tr   )
r   r   r!   pytestraises
ValueErrorr   r#   r%   r&   )nullable_string_dtyper   r,   r   r)   msgr+   s          r.   0test_contains_na_kwarg_for_nullable_string_dtyperH      s    " S#sC08MNF	V|%DRDI]]:S1JJ8 21 $$SR$=4tX>iP
v0 21s   B++
B9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   r2   r   Fr   r   Tr   Aaba)	r   r   r!   r   r#   r$   r	   r%   r&   )r(   sr+   r-   na_valuer,   s         r.   test_contains_moarrW      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,r0   c                 j   [        [        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        S	n[        R                  " [        US
9   UR                  R	                  SSS9  S S S 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       N= f)Nr   r   Fr   r   FFFT)TTTz7na must be None, pd.NA, np.nan, True, or False; got foorA   r   r   )r   r   r!   r   r#   r	   r'   r%   r&   rC   rD   rE   r$   )r(   rU   r+   r-   r,   rG   s         r.   test_contains_nanrZ      sC   '/?@AUU^^Ee^,F12BCC  +>BH6,UU^^Ed^+F(?H6,
CC	z	-	u' 
. UU^^E"F5 /t< 66FGGHY 	 2662662662.I6, 
.	-s   -F$$
F2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 patternrA   flags)r	   r   r'   r   recompiler   r#   r%   r&   storagerC   rD   rE   
IGNORECASEr(   r-   serr*   r+   r,   s         r.   test_contains_compiled_regexrk     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
barr]   r   z^barY   rc   r^   ra   )r	   r   r'   r   re   rf   r   r#   r%   r&   	MULTILINErh   ri   s         r.   "test_contains_compiled_regex_flagsro   5  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,r0   zpat, expected_dataa(?=b)FTFF(?<=a)ba(?!b)r   (?<!b)aTTFFabr   c                    U S:X  a  [        U[        5      (       d  SnO"[        U 5      (       a  [        R                  OSnU S:X  aG  U[
        R                  L d  [        R                  " U5      (       a  U[        R                  La  S nOaUnO^U[
        R                  L d  [        R                  " U5      (       a.  U S:X  a  SnO'U S:X  a  [        R                  nO[        SU  35      eUnUR                  5       nUR                  U5        [        / SQU S9nUR                  R                  US	US
9n[        X$S9n[         R"                  " Xx5        g )Nr   r   r   Fr_   zUnrecognized string dtype aarv   rT   bbNr   T)r   r   )
isinstancer$   r	   r   r'   r   
no_defaultpdisnaNArE   copyappendr   r   r#   r%   r&   )	r(   r*   expected_datar   r-   	na_resultrj   r+   r,   s	            r.   test_contains_lookaroundsr   M  s    8#Jr4,@,@! 66FGGBHHY 	 8##.. BGGBKKRruu_II	s~~	u$I)I9:J9KLMM	!&&(M#
/7G
HCWWc"5Fm:H6,r0   c                 F   [        U 5      (       a  [        R                  OSn[        / SQU S9nUR                  R                  S5      nU S:X  a  U R                  S:X  a  [        / SQUS9nO[        / SQUS9n[        R                  " X45        UR                  R                  S	5      n[        / SQUS9n[        R                  " X45        [        S
SR                  S5      S	SSS/U S9nUR                  R                  S5      n[        / SQUS9n[        R                  " X45        UR                  R                  S5      n[        / SQUS9n[        R                  " X45        UR                  R                  S5      n[        / SQUS9n[        R                  " X45        g )Nr   bazr\   barsbar
r   bar$r_   r`   rq   FTFTbar\Zr\   zbar{}\bar\\Zr   r   )FFTFFFzbar\\\Z)FTFFFFzbar\\\\Z)FFFTFF)
r	   r   r'   r   r   r#   rg   r%   r&   formatr(   r-   rj   r+   r,   s        r.   test_contains_end_of_stringr   w  sk    22BCC  08H
IC WWf%F8#(8(@(@I(M5^L 4NK6, WWh'F1HH6, 	%xFGLC
 WWi(F?~VH6,WWj)F?~VH6,WWk*F?~VH6,r0   c           	         [        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        [        R                  " [
        US9   UR                  R                  SS
S9  S S S 5        g ! , (       d  f       NK= f! , (       d  f       g = f)Nomfoo_nomnombar_foor   r   z7na must be None, pd.NA, np.nan, True, or False; got bazrA   kapowr   r   r\   )	r   r   r!   rC   rD   rE   r   
startswithendswith)r(   rj   rG   s      r.   $test_startswith_endswith_validate_nar     s    
	rvvy%BFFEBC DC	z	-7u- 
.	z	-5) 
.	- 
.	-	-	-s   	B)B:)
B7:
Cr*   r   )r   r   r   r   r=   
null_valuec                    [        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 Nr   r   r   r   r   r   FTr   r=   r   r2   r3   r4   r5   f)r   r   r   r   r!   r}   r   fillnar~   astyper$   r%   r&   r    r   r7   r"   r*   r   r   r   using_infer_stringr)   r+   expr9   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"r0   )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)	r   Nr   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'r0   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!   r}   r   r   r~   r   r$   r%   r&   r    r   r7   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"r0   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'r0   c                     [        / SQSS9nSn[        R                  " [        US9   UR                  R                  SSS.S	S
9  S S S 5        g ! , (       d  f       g = f)N)rJ   B_junkC_gunkmy_messy_coldatanamez,repl cannot be used when pat is a dictionaryrA   r2   r3   rJ   rK   rJ   )r*   replr   rC   rD   rE   r   replace)r(   seriesrG   s      r.   test_replace_dict_invalidr   >  sJ    2HF
8C	z	-

Ss3#> 
.	-	-s   A
Ac                     [        / SQSS9nUR                  R                  SSS.S9n[        / SQSS9n[        R                  " X#5        g )	N)rJ   rK   rL   r   r   r2   r3   r   )r*   )r2   r3   rL   r   r   r   r%   r&   )r(   r   
new_seriesr,   s       r.   test_replace_dictr   G  sD    ~>F##c(<#=J?@H:0r0   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[_]*rO   Tr   rm   r   r   r!   r   r   r%   r&   r(   rj   r+   r,   s       r.   test_replacer   O  sU    
"BFF+3C
DCWW__Y$_7Fx(0@AH6,r0   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   rO   r4   Tnr   foo__barBADBADFr   r(   rj   r,   r+   s       r.   test_replace_max_replacementsr   W  s    
"BFF+3C
DC{BFF+3CDHWW__Yat_<F6,}bff-5EFHWW__UB!5_9F6,r0   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fooBADr4   r5   r   rO   r   r2   r3   r   r   )
r   r   r!   r   r7   r   r   r   r%   r&   rj   r+   r,   s      r.   test_replace_mixed_objectr   c  s    
	x~~'74CPC C[__$$Y$$?F	bffc2662665$GvH 6,r0   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rd   r   )r   decoder   r   re   UNICODEr%   r&   r   s       r.   test_replace_unicoder   n  sg    
"))'23;K
LC(//89AQRHWW__.BJJd_SF6,r0   r   r?   r2   r3   r   )r2   r3   N)r2   r3   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   rA   r2   )rC   rD   	TypeErrorr   r   )r(   index_or_seriesr   r   rG   objs         r.   #test_replace_wrong_repl_type_raisesr   u  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((*r0   [a-z][A-Z]{2}   Tr   foObaD__baRbaDr   )r(   rj   r   r+   r,   s        r.   test_replace_callabler     s_    
"BFF+3C
DC +DWW___dat_DF'08HIH6,r0   c                      g N r   r0   r.   r   r     s    Tr0   c                     g r   r   )r   xs     r.   r   r     s    r0   c                     g r   r   )r   r   ys      r.   r   r     s    4r0   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?rA   r2   Tr   )r   r   r!   rC   rD   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)zrepl, expected_listz\g<three> \g<two> \g<one>zThree Two OnezBaz Bar Fooz\3 \2 \1z\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_no_g_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   re   rf   r   r   r%   r&   )r(   r  r   expected_listrj   patternr+   r,   s           r.   $test_replace_named_groups_regex_swapr    s[    J /=19I
JC9G**W%WW__W$_7Fm<H6,r0   )z\g<20>\20z\40z\4c                 $   U(       d  SU;  a~  [        U [        5      (       ai  U R                  S:X  aY  US:X  a.  [        R                  R                  SS9nUR                  U5        [        R                  " S5      nUR                  nSnO[        R                  nSnSnU(       a  [        R                  " U5      n[        S	S
/U S9n	[        R                  " XgS9   U	R                  R                  XSS9  S S S 5        g ! , (       d  f       g = f)Nz\gr`   r  z%PyArrow interprets as group + literal)reasonz(only has \d parenthesized subexpressionszinvalid group referencer	  r  r  r   rA   Tr   )r{   r   rg   rC   markxfailapplymarkerimportorskipArrowInvalidre   errorrf   r   rD   r   r   )
r(   r   r  requestr  pa
error_type	error_msgr  rj   s
             r.   2test_replace_named_groups_regex_swap_expected_failr    s     '55$$	1 6>;;$$,S$TD%  +__
?	XX
-	9G**W%
/=19I
JC	z	3T2 
4	3	3s   D
Dzpattern, repl)z(\w+) (\w+) (\w+)r  )r	  r  c                     [        SS/U S9nUR                  R                  XSS9n[        SS/U S9n[        R                  " XE5        g )Nr  r  r   Tr   r   r   r   )pyarrow_string_dtyper  r   rj   r+   r,   s         r.   'test_pyarrow_ambiguous_group_referencesr    sL     /=19M
NCWW__W$_7Fvv&.BCH6,r0   zpattern, repl, expected_listz\[(?P<one>\d+)\]z(\1))z
var.one(0)z
var.two(1)zvar.three(2)z	\[(\d+)\]r`   c                     [        / SQ5      R                  SS9nUR                  R                  XSS9n[        U5      R                  SS9n[        R
                  " XE5        g )N)z
var.one[0]z
var.two[1]zvar.three[2]r`   )dtype_backendTr   )r   convert_dtypesr   r   r%   r&   )r  r   r
  rj   r+   r,   s         r.   &test_pyarrow_backend_group_replacementr!    sa    " =
>
M
M N C WW__W$_7Fm$33)3LH6,r0   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&//1r0   Tr   bARr   )r(   rj   r*   r   r+   r,   s         r.   "test_replace_callable_named_groupsr'    s[    
-(0@
AC
9C1DWW__Sd_3Fubffo-=>H6,r0   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_*rO   Tr   rm   r4   r   r   	r   r   r!   re   rf   r   r   r%   r&   )r(   rj   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,r0   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   r4   r5   rO   r   r2   r3   r   r   )re   rf   r   r   r!   r   r7   r   r   r   r%   r&   )r*   rj   r+   r,   s       r.   (test_replace_compiled_regex_mixed_objectr-  3  s    
**X
C
	x~~'74CPC C[__$$S"D$9F	bffc2662665$GvH 6,r0   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   rc   r   Tr   )	r   r   re   rf   r   r   r   r%   r&   )r(   rj   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,r0   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 regexrA   rO   Tr   Fr   r   )r   r   r!   re   rf   rC   rD   rE   r   r   rh   r(   rj   r*   rG   s       r.   "test_replace_compiled_regex_raisesr4  G  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   r0   r   r   Tr   r   r*  )r(   rj   r   r*   r+   r,   s         r.   $test_replace_compiled_regex_callabler8  Y  si    
"BFF+3C
DC*D
**_
%CWW__S!4_8F'08HIH6,r0   zregex,expected_val)Tbao)Fr   c                     [        SS[        R                  /US9n[        SU[        R                  /US9nUR                  R	                  SSU S9n[
        R                  " XT5        g )Nzf.or   r   r9  zf.rT   r   r   )r   expected_valr(   rj   r,   r+   s         r.   test_replace_literalr<  c  sZ     %'/?
@CulBFF3;KLHWW__T4u_5F6,r0   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>n  r   r0   z2Cannot use a callable replacement when regex=FalserA   abcFr   r   )r(   rj   r   rG   s       r.   $test_replace_literal_callable_raisesrA  l  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=FalserA   rO   Fr   )r   re   rf   rC   rD   rE   r   r   r3  s       r.   $test_replace_literal_compiled_raisesrC  u  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 )NrJ   rK   rL   rM   rN   rO   rP   rQ   rR   r   YYYYYYabaCYYYBYYYFr   
YYYYYYbYYYBYYYcYYYcYYYtz^.a|dogzXX-XX Tr2  zXX-XX bazXX-XX cazXX-XX BAzXX-XX tr   r   s       r.   test_replace_moarrK  ~  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,r0   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.Abrv   r   r2   r<   Fr2  zc.cbr   r   s       r.   )test_replace_not_case_sensitive_not_regexrO    s    
$dD"&&19I
JCWW__S#E_?FtT4rvv6>NOH6,WW__T4e5_AFtT4rvv6>NOH6,r0   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 )	Nr2   r3   acrO   r   z^.$Tr   r   )r(   rU   r+   r,   s       r.   test_replace_regexrR    s`    S$+3CDAUU]]5#T]2FsCrvvr2:JKH6,r0   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.r3   rO   r   r2   r   aaaaabr   )r   r(   rU   r+   r,   s        r.   #test_replace_regex_single_characterrW    s     	sC,4DEAUU]]35]1F5#sBFFB7?OP5#sBFFB7?OP6,r0   )ry   xbrT   rz   )ry   axrT   rz   )xxrv   bxrz   )rZ  rX  rT   rz   )ry   r   rT   rz   c                 $   [        / SQU S9nUR                  R                  USSS9nU S:X  a  S nO<U S:X  a  [        R                  nO%U S:X  a  [
        R                  nO[        S	U  35      e[        / UQUPU S9n[        R                  " XF5        g )
Nrx   r   r   Tr   r   r   r_   Unrecognized dtype: )
r   r   r   r   r!   r}   r   rE   r%   r&   r(   r*   r   rj   r+   null_resultr,   s          r.   test_replace_lookaroundsr`    s     /7G
HCWW__S#T_2F8#	U	"ff	X	%ee/0@/ABCC33{3;KLH6,r0   c                    [        / SQU S9nUR                  R                  SSSS9nU S:X  a  U R                  S:X  a  [        / S	QU S9nO[        / S
QU S9n[        R
                  " X#5        UR                  R                  SSSS9n[        / S	QU S9n[        R
                  " X#5        [        / SQU S9nUR                  R                  SSSS9n[        / SQU S9n[        R
                  " X#5        g )Nr   r   r   r   Tr   r_   r`   )r   r   r   r   )r   r   r   zx
r   r   r\   r   r   r   )r   r\   r   r   )r   r   r   rg   r%   r&   r   s       r.   test_replace_end_of_stringrc    s    
08H
IC WW__VS_5F8#(8(@(@I(M7?OP 5=MN6, WW__Xs$_7F3;KLH6, 3;K
LCWW__Y4_8F3;KLH6,r0   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   rB   r%   r&   )r(   r-   rV   r)   r+   r,   s         r.   
test_matchrh    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,r0   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   r4   r5   re  F)
r   r   r!   r   r7   r   rB   r{   r%   r&   r8   s      r.   test_match_mixed_objectrl  4  s    FFNN
	
E E]$$%9:FtRVVT2662665$PRPVPVWXHff%%%%6,r0   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 )Nr2   r3   r   Fr   r   )TFFr   r   T)
r   r   r!   r   rB   r	   r'   r%   r&   r$   )r(   rU   r+   r-   r,   rV   s         r.   test_match_na_kwargrn  H  s    S"&&!)9:AUU[[['F12BCC  *.AH6,UU[[F5  66FGGHY 	 66tUH-^DH6,r0   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rv   ABr@  ABCr   rv   Fr   r   TTTTr   r   rB   r	   r   r'   r%   r&   )r(   r)   r+   r-   r,   s        r.   test_match_case_kwargru  b  s_    .6FGFZZd/F12BCC  .nEH6,r0   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        Sn[        R                  " [        U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        Sn[        R                  " [        US9   UR                  R                  [        R                  " S5      [        R                  S
9  S S S 5        UR                  R                  [        R                  " S[        R                  S
9[        R                  S
9  g ! , (       d  f       GN= f! , (       d  f       Nj= f)Nr   rp  r   rv   r   z^Cannot both specify 'case' and pass a compiled regexp object with conflicting case-sensitivityrA   Fr   rc   rs  zTCannot both specify 'flags' and pass a compiled regexp object with conflicting flags)r	   r   r'   r   r   rB   re   rf   r%   r&   rC   rD   rE   rh   )r(   r-   r)   r+   r,   rG   s         r.   test_match_compiled_regexrw  l  se    22BCC  .6FGFZZbjj./F0GH6,	:  
z	-

D)6 
. ZZbjjR]]CDF.nEH6,	/  
z	-

D)? 
. JJRZZBMM:"--P 
.	- 
.	-s   /G=G,
G),
G:zpat, case, exprM  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   rt  )r(   r*   r   r   rj   r+   r-   r,   s           r.   test_str_match_extra_casesr{    s^     %'7
8CWW]]3]*F 22BCC  c0H6,r0   )FFFFTFFFc                    U S:X  a  Su  p4O1U S:X  a  Su  p4O&U S:X  a  S[         R                  pCO[        SU  35      e[        / SQU S	9nUR                  R                  U5      n[        / UQUPUS	9n[        R                  " Xg5        g )
Nr   r   Nr   r$   Fr_   r   r]  rx   r   )r}   r   rE   r   r   rB   r%   r&   )r(   r*   r   r-   r_  rj   r+   r,   s           r.   test_match_lookaroundsr    s     8#&4#	U	"&3#	X	%&//0@/ABCC
/7G
HCWW]]3F33{3>JH6,r0   c                 ,   [        U 5      (       a  [        R                  OSn[        / SQU S9nUR                  R                  S5      nU S:X  a  U R                  S:X  a  [        / SQUS9nO[        / SQUS9n[        R                  " X45        UR                  R                  S	5      n[        / SQUS9n[        R                  " X45        [        / S
QU S9nUR                  R                  S5      n[        / SQUS9n[        R                  " X45        g )Nr   r   r   r   r_   r`   rq   r   r   rb  r   r|  )	r	   r   r'   r   r   rB   rg   r%   r&   r   s        r.   test_match_end_of_stringr    s     22BCC  08H
IC WW]]6"F8#(8(@(@I(M5^L 4NK6, WW]]8$F1HH6, 3;K
LCWW]]9%F1HH6,r0   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   rf  r   r   rg  r   r|  r   r   TF	r   r   r!   r   	fullmatchr$   r	   r%   r&   r(   rj   r+   r,   r-   s        r.   test_fullmatchr    s    
	.>FVC WW/0F5 5TB 66FGGHY 	 46nM6,r0   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    s    
%BFFF3;K
LCWWx(F5 5TB 66FGGHY 	 5%6nM6,r0   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   rf  r   r   rg  Fr   r   r|  )	r   r   r!   r   r  r	   r'   r%   r&   )r(   rj   r+   r-   r,   s        r.   test_fullmatch_na_kwargr    sr    
	.>FVC WW/E:F12BCC  1HH6,r0   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 )Nrp  r   r   r|  rv   Tr   ru   Frc   )
r   r	   r   r'   r   r  r%   r&   re   rh   )r(   rj   r-   r,   r+   s        r.   test_fullmatch_case_kwargr    s    
+3C
DC12BCC  1HHWWt$/F6,0GHWWt%0F6,WWt2==9F6,r0   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   rp  r   rv   r|  r_   r`   Fr   ru   rb   rA   rc   )r	   r   r'   r   r   r  re   rf   r%   r&   rg   rC   rD   rE   rh   )r(   r-   r)   r+   r,   s        r.   test_fullmatch_compiled_regexr  #  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
 

 

 
s    /G4.=H4
H
H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@  r  z$abcNr   )r   r   r   Fr   r   )r   r   r  r$   r	   r%   r&   )	r(   r*   r   r   r   rj   r+   r-   r,   s	            r.   test_str_fullmatch_extra_casesr  D  sr    , .6F
GCWWs"5F5 B 66FGGHY 	 c0H6,r0   )rp   rr   rs   rt   rv   c                 $   U S:X  a  Su  p#O1U S:X  a  Su  p#O&U S:X  a  S[         R                  p2O[        SU  35      e[        / SQU S	9nUR                  R                  U5      n[        S
US:X  a  SOS
S
S
U/US	9n[        R                  " XV5        g )Nr   r~  r   r  r_   r   r]  rx   r   Frv   T)r}   r   rE   r   r   r  r%   r&   )r(   r*   r-   r_  rj   r+   r,   s          r.   test_fullmatch_lookaroundsr  i  s     8#&4#	U	"&3#	X	%&//0@/ABCC
/7G
HCWWs#F	tukJH 6,r0   c                    [        U 5      (       a  [        R                  OSn[        / SQU S9nUR                  R                  S5      n[        / SQUS9n[        R                  " X45        UR                  R                  S5      n[        R                  " X45        [        / SQU S9nUR                  R                  S5      n[        / S	QUS9n[        R                  " X45        g )
Nr   r   r   r   rq   r   rb  r   r|  )r	   r   r'   r   r   r  r%   r&   r   s        r.   test_fullmatch_end_of_stringr    s     22BCC  08H
IC WWv&F1HH6, WWx(F6, 3;K
LCWWy)F1HH6,r0   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,r0   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   r4   r5   r   r  )	r   r   r!   r   r7   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,r0   c                 &   [        / SQU S9nUR                  R                  U5      nU S:X  a  S nO<U S:X  a  [        R                  nO%U S:X  a  [
        R                  nO[        SU  35      e[        / UQUP5      n[        R                  " XF5        g )Nrx   r   r   r   r_   r]  )
r   r   r  r   r!   r}   r   rE   r%   r&   r^  s          r.   test_findall_lookaroundsr    s     /7G
HCWW__S!F8#	U	"ff	X	%ee/0@/ABCC33{34H6,r0   c                    [        / SQU S9nUR                  R                  S5      n[        / S// S//[        S9n[        R
                  " X#5        UR                  R                  S5      n[        / S// / /[        S9n[        R
                  " X#5        [        / SQU S9nUR                  R                  S5      n[        S// / / /[        S9n[        R
                  " X#5        g )Nr   r   r   r\   r   rb  r   )r   r   r  r   r%   r&   r   s       r.   test_findall_end_of_stringr    s    
08H
IC WW__V$FrE7B0?H6, WW__X&FrE7B+6:H6, 3;K
LCWW__Y'Fz2r2.f=H6,r0   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?   r4   r   r  )r        r  r  r?   )r  r?   r  r  r     )r  r?   r  r  r  )r   r	   r   int64r   findr%   r&   r    assert_numpy_array_equalrfind)r(   rj   r-   r+   r,   vs         r.   	test_findr    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 intrA   r   )r   rC   rD   r   r   r  r  )r(   rj   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                  n[        R                  nOSn[
        R                  nUR                  R                  S5      n[        SUSUS	/US9n[        R                  " XE5        UR                  R                  S5      n[        SUS
US	/US9n[        R                  " XE5        UR                  R                  SS5      n[        SUS
US	/US9n[        R                  " XE5        UR                  R                  SS5      n[        SUS
US	/US9n[        R                  " XE5        UR                  R                  SSS5      n[        SUS	US	/US9n[        R                  " XE5        UR                  R                  SSS5      n[        SUS	US	/US9n[        R                  " XE5        g )Nr  r  r  r   r  r  r  r4   r  r  r?   r  )r   r   r!   r	   float64r}   r   r   r  r%   r&   r  )r(   rj   r-   itemr+   r,   s         r.   test_find_nanr  1  s   
	BFFK8@PC %%566vv uuWW\\$Fq$4,NCH6,WW]]4 Fq$4,NCH6,WW\\$"Fq$4,NCH6,WW]]4#Fq$4,NCH6,WW\\$1%Fq$D"-^DH6,WW]]4A&Fq$D"-^DH6,r0   infer_string)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_translater  Z  sX     08HC MM%'EWWu%F08HH OOF%r0   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)r2   r3   r<   g333333?r@  r  r<   der   )	r   r   r  r   r!   r   r  r%   r&   )rU   r  r,   r+   s       r.   test_translate_mixed_objectr  i  sV    #$AMM%'EsCbff-V<HUU__U#F6,r0   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)rd   expandr   )davegooglecomrc   r4   zhas match groupsrA   )r   r!   r   r   extractre   rh   iloctolistrB   r  r  countr%   assert_produces_warningUserWarningr#   )r(   r   r*   r+   rG   s        r.   test_flags_kwargr  u  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   )`r   re   numpyr   rC   pandas._libsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr}   r   r   r   r%   pandas.tests.stringsr   r	   r/   r:   r>   r  parametrizer   r!   rH   rW   rZ   rk   ro   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  
skip_if_nor!  r'  r+  r-  r/  r4  r8  r<  rA  rC  rK  rO  rR  rW  r`  rc  rh  rl  rn  ru  rw  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  paramr  r  r  r   r0   r.   <module>r     s    	    ) )  
[-|-"-0 	ruu	
 4-01 1
1"1-h->!3H-0 	/0	01	./	/0	*+	 eRVVT255QR- S	->'-^
*  788Z"89bffbee'<=e}-# . > : 9#@ 23( 4(D  788Z"89bffbee'<=e}-# . > : 9#@ 23( 4(>?1-	--- $C:!67"24I!JK# L 8#- 
\,.GH
2
2  )m,	

 m,	

 !m,	

 V	

 $	
#,	1  @ u6
- 7AB
- 
 u63 73> &=-- "  8	
 8	
 y-  ---	--8$- -~/NO- P-2.0-f
-- 4-0
- 1
- 	,-	-.	,-	-.	&'	-	- ->$-N-(-4-QD 	utUm$	teU^$	teU^$	edE]+	dUEN+	dT5M*	tUm,	-- 	/0	12	/0	/0	*+	-	- -F-"-	--(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	*-+*-  	B-	-(-:--B 	R#B'(	b3%R()	c3ZcUB/0	sCj3%R01	TFB#$	-	- -4*LZ!-R UFLLR]]95MNO	&	&-r0   