
    j                     6    d dl Z d dlmZ  G d de          ZdS )    N)Rulec                       e Zd ZdZdZdZdZdZdZ e	dd          Z
 e	d	d          Zd
Z G d de          Z G d de          Z G d de          ZdS )Commonu  （(?:[^）])*）(?=\s?[A-Z])|「(?:[^」])*」(?=\s[A-Z])|\((?:[^\)]){2,}\)(?=\s[A-Z])|\'(?:[^\'])*[^,]\'(?=\s[A-Z])|\"(?:[^\"])*[^,]\"(?=\s[A-Z])|\“(?:[^\”])*[^,]\”(?=\s[A-Z])|[。．.！!?？ ]{2,}|\S.*?[。．.！!?？ȸȹ☉☈☇☄]|[。．.！!?？]u   [!?\.-][\"\'“”]\s{1}[A-Z]u   ["\”]\s\(.*\)\s["\“]u&   (?<=[!?\.-][\"\'“”])\s{1}(?=[A-Z])z(?<=\S)(!|\?){3,}(?=(\s|\Z|$))u^   (?<=[^\d\s])(\.|∯)((\[(\d{1,3},?\s?-?\s?)*\b\d{1,3}\])+|((\d{1,3}\s?)?\d{1,3}))(\s)(?=[A-Z])z\.(?='s\s)|\.(?='s$)|\.(?='s\Z)   ∯z(?<=Co)\.(?=\sKG)z\b[a-z](?:\.[a-z])+[.]c                   J    e Zd ZdZ edd          Z edd          ZeegZdS )$Common.SingleLetterAbbreviationRuleszVSearches for periods within an abbreviation and
        replaces the periods.
        z(?<=^[A-Z])\.(?=\s)r   z(?<=\s[A-Z])\.(?=,?\s)N)__name__
__module____qualname____doc__r   &SingleUpperCaseLetterAtStartOfLineRuleSingleUpperCaseLetterRuleAll     b/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/pysbd/lang/common/common.pySingleLetterAbbreviationRulesr   '   sQ        	 	 266Le1T1T. %)D)BE$J$J! 34M
r   r   c                   z    e Zd Z edd          Z edd          Z edd          Z edd          ZeeeegZdS )Common.AmPmRulesu   (?<= P∯M)∯(?=\s[A-Z]).u   (?<=A∯M)∯(?=\s[A-Z])u   (?<=p∯m)∯(?=\s[A-Z])u   (?<=a∯m)∯(?=\s[A-Z])N)	r	   r
   r   r   UpperCasePmRuleUpperCaseAmRuleLowerCasePmRuleLowerCaseAmRuler   r   r   r   	AmPmRulesr   5   sl         $;SAA $:C@@ $:C@@ $:C@@/Rr   r   c                       e Zd Z edd          Z edd          Z edd          Z edd          Z edd          ZeeeeegZ	dS )Common.Numbersz\.(?=\d)r   z(?<=\d)\.(?=\S)z(?<=\r\d)\.(?=(\s\S)|\))z(?<=^\d)\.(?=(\s\S)|\))z(?<=^\d\d)\.(?=(\s\S)|\))N)
r	   r
   r   r   PeriodBeforeNumberRule!NumberAfterPeriodBeforeLetterRule"NewLineNumberPeriodSpaceLetterRuleStartLineNumberPeriodRule!StartLineTwoDigitNumberPeriodRuler   r   r   r   Numbersr   E   s        !%k5!9!9 -1D1CU,K,K) .2T2Mu-U-U* %)D)CU$K$K! -1D1Mu,U,U) #-.%-r   r#   N)r	   r
   r   SENTENCE_BOUNDARY_REGEX"QUOTATION_AT_END_OF_SENTENCE_REGEX"PARENS_BETWEEN_DOUBLE_QUOTES_REGEX.SPLIT_SPACE_QUOTATION_AT_END_OF_SENTENCE_REGEXCONTINUOUS_PUNCTUATION_REGEXNUMBERED_REFERENCE_REGEXr   PossessiveAbbreviationRuleKommanditgesellschaftRuleMULTI_PERIOD_ABBREVIATION_REGEXobjectr   r   r#   r   r   r   r   r      s        i *J& *E& 6_2 $E   A "&&H%!P!P !%%95 A A '@#
 
 
 
 
 
 
 
S S S S SF S S S     &     r   r   )repysbd.utilsr   r-   r   r   r   r   <module>r0      s^    				      V V V V VV V V V V Vr   