рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐, рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд╛рдЗрдбред рднрд╛рдЧ 1

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (рдЖрд░рд╡реА) рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдФрд░ рдлрд┐рд░ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕реБрд▓рдн рдПрдХ рдЫреЛрдЯреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЙрди рд╕рдВрднрд╛рд╡рд┐рдд рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ; рдЗрд╕ рд╕реЗрдЯ рдореЗрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рд╡рд╛рдХреНрдпрд╛рдВрд╢, рдпрд╛ рдИрдореЗрд▓ рдкрддреЗ, рдпрд╛ TeX рдХрдорд╛рдВрдб, рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред PB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╢реНрди рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ "рдХреНрдпрд╛ рдпрд╣ рд░реЗрдЦрд╛ рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ?", рдпрд╛ "рдХреНрдпрд╛ рдкреИрдЯрд░реНрди рдЗрд╕ рд░реЗрдЦрд╛ рд╕реЗ рдХрд╣реАрдВ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ?" рдЖрдк рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдпрд╛ рдЗрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреИрдЯрд░реНрди рдХреЛ рдмрд╛рдЗрдЯрдХреЛрдб рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рддрдм рд╕реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╕рдВрдмрдВрдзрд┐рдд рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЬрди рдЗрд╕ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд▓рд┐рдЦреЗрдЧрд╛ рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рдмрд╛рдпрдЯреЗрдХреЛрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛ рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рддреЗрдЬреА рд╕реЗред рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрдВрдЬрди рдХреЗ рдЖрдВрддрд░рд┐рдХ рд╡рд┐рд╡рд░рдг рдХреА рдЕрдЪреНрдЫреА рд╕рдордЭ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рднрд╛рд╖рд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯреА рдФрд░ рд╕реАрдорд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рд╕рдВрднрд╡ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕реЗ рдХрд╛рд░реНрдп рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рднрд╛рд╡ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИрдВред рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдирд┐рдпрдорд┐рдд рдкрд╛рдпрдерди рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рд╡рд┐рдХрд╕рд┐рдд рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ред

рд╕рд░рд▓ рдкреИрдЯрд░реНрди


рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЦреЛрдЬ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рдЪреВрдВрдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рд╕рдмрд╕реЗ рдЖрдо рдХрд╛рд░реНрдп - рдорд┐рд▓рд╛рди рд╡рд╛рд▓реЗ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рддрдХрдиреАрдХреА рдкрдХреНрд╖ (рдирд┐рд░реНрдзрд╛рд░рдХ рдФрд░ рдЧреИрд░-рдирд┐рдпрддрд╛рддреНрдордХ рдкрд░рд┐рдорд┐рдд рд░рд╛рдЬреНрдп рдорд╢реАрдиреЛрдВ) рдХреЗ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд▓реЗрдЦрди рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд░ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЪрд░рд┐рддреНрд░ рдорд┐рд▓рд╛рди

рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрддреНрд░ рдФрд░ рдкреНрд░рддреАрдХ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ test рд╕реНрдЯреНрд░рд┐рдВрдЧ test рдкреВрд░реА рддрд░рд╣ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реЛрдЧрд╛ (рдЖрдк рдХреЗрд╕-рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдореЛрдб рдХреЛ рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ Test рдпрд╛ TEST рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ)ред

рдЗрд╕ рдирд┐рдпрдо рдХреЗ рдЕрдкрд╡рд╛рдж рд╣реИрдВ; рдХреБрдЫ рдЪрд░рд┐рддреНрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореЗрдЯрд╛рдЪреИрдЯрд░ рд╣реИрдВ , рдФрд░ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╡реЗ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЪреАрдЬрд╝ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрдиреНрдп рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдХрд░ рдпрд╛ рдЙрдирдХрд╛ рдЕрд░реНрде рдмрджрд▓рдХрд░ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рднрд┐рдиреНрди рдореЗрдЯрд╛рдЪреИрдХрд░ рдФрд░ рд╡реЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред

рдпрд╣рд╛рдВ рдореЗрдЯрд╛рдЪрдЯреНрд░реИрдХреНрдЯрд░реНрд╕ рдХреА рдкреВрд░реА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ; рдЗрд╕ HOWTO рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдЕрд░реНрдереЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред

. ^ $ * + ? { [ ] \ | ( )

рдкрд╣рд▓рд╛ рдореЗрдЯрд╛рдЪреИрдХрд░ рдЬрд┐рд╕реЗ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ [ рдФрд░ ] ред рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд░рд┐рддреНрд░ рд╡рд░реНрдЧ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЙрди рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рд╕рдореВрд╣ рд╣реИ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдЖрдк рдПрдХ рдореИрдЪ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡рд░реНрдгреЛрдВ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдкрд╣рд▓реЗ рдФрд░ рдЕрдВрддрд┐рдо рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ '-' рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, [abc] рдХрд┐рд╕реА рднреА рдЕрдХреНрд╖рд░ a, b рдпрд╛ c рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдЧрд╛; рдпрд╣ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рдорд╛рди рд╕реЗрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдорд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ [ac] рдХреЗ рд╕рдорд╛рди рд╣реИред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░реЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ PB [az] рдЬреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ред

рдореЗрдЯрд╛рдЪреИрдХрд░реНрд╕ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЕрдВрджрд░ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, [akm$] рдХрд┐рд╕реА рднреА рдЕрдХреНрд╖рд░ 'a', 'k', 'm' рдпрд╛ '$' рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдЧрд╛ред '$' рдЪрд┐рдиреНрд╣ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдореЗрдЯрд╛рдЪреИрдХрд░ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдЪрд░рд┐рддреНрд░ рд╡рд░реНрдЧ рдХреЗ рдЕрдВрджрд░ рдпрд╣ рдЕрдкрдиреА рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреГрддрд┐ рдЦреЛ рджреЗрддрд╛ рд╣реИред

рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдмрд╛рд╣рд░ рдХреЗ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдХреНрд╖рд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ '^' рдЕрдХреНрд╖рд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ [^5] '5' рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд┐рд╕реА рднреА рд╡рд░реНрдг рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред

рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмреИрдХрд╕реНрд▓реИрд╢ рдореЗрдЯрд╛рдЪреИрдХрд░ рд╣реИред рдЕрдЬрдЧрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рд╕рд╛рде, рдмреИрдХрд╕реНрд▓реИрд╢ рдХрд╛ рдЕрдиреБрд╕рд░рдг рд╡рд┐рднрд┐рдиреНрди рдкрд╛рддреНрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрдЯрд╛рдЪреИрдХрд░ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рдореЗрдЯрд╛рдЪреИрдХрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдирдХреА рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рд╕реЗ рд╡рдВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдЪ [ рдпрд╛ \ _ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдмреИрдХрд╕реНрд▓реИрд╢ рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛: \[ рдпрд╛ \\ ред

'\' рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдХреНрд░рдо рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЪрд░рд┐рддреНрд░ рд╕реЗрдЯреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣, рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ, рдпрд╛ рд╣рд░ рдЪреАрдЬ рдХрд╛ рд╕реЗрдЯ рдЬреЛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди, рдЯреИрдм рдЖрджрд┐ рдирд╣реАрдВ рд╣реИрдВ (рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк)ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЕрдиреБрдХреНрд░рдо рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╕рдмрд╕реЗрдЯ рд╣реИрдВред рдХреНрд▓рд╛рд╕ рд╕реАрдХреНрд╡реЗрдВрд╕ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдФрд░ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХреНрд▓рд╛рд╕ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЕрдВрддрд┐рдо рднрд╛рдЧ рджреЗрдЦреЗрдВред

\d
рдХрд┐рд╕реА рднреА рдЕрдВрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ; рдХрдХреНрд╖рд╛ рд╕рдордХрдХреНрд╖ [0-9] ред
\D
рдХрд┐рд╕реА рднреА рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЪрд░рд┐рддреНрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ; рдХрдХреНрд╖рд╛ рд╕рдордХрдХреНрд╖ [^0-9] ред
\s
рдХрд┐рд╕реА рднреА рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдЪрд░рд┐рддреНрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ; [ \t\n\r\f\v] рдмрд░рд╛рдмрд░ред
\S
рдХрд┐рд╕реА рднреА рдЧреИрд░-рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдЪрд░рд┐рддреНрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ; [^ \t\n\r\f\v] рдмрд░рд╛рдмрд░ред
\w
рдХрд┐рд╕реА рднреА рдкрддреНрд░ рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ; [a-zA-Z0-9_] рдмрд░рд╛рдмрд░ред
\W
рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд; [^a-zA-Z0-9_] ред

рдЗрди рджреГрд╢реНрдпреЛрдВ рдХреЛ рдПрдХ рдЪрд░рд┐рддреНрд░ рд╡рд░реНрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, [\ _ред] рдПрдХ рд╡рд░реНрдг рд╡рд░реНрдЧ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк-рдкреНрд░рддреАрдХ рдпрд╛ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдпрд╛ рдбреЙрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдЧрд╛ред

рдЗрд╕ рдЦрдВрдб рдореЗрдВ рдЕрдВрддрд┐рдо рд░реВрдкрдХ рд╣реИ '.' ред рдпрд╣ рдиреНрдпреВрд▓рд╛рдЗрди рд╡рд░реНрдг рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд╡рд░реНрдгреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдореЛрдб ( re.DOTALL ) рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕реЗрдЯ рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдЧрд╛ред '.' рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк "рдХрд┐рд╕реА рднреА рд╡рд░реНрдг" рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЪреАрдЬреЛрдВ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░реЗрдВ

рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдг рд╕реЗрдЯреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкрд╣рд▓реА рдЪреАрдЬ рд╣реИ рдЬреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд░ рд╕рдХрддреА рд╣реИ рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд╡рд╕рд░ рд╣реЛрддрд╛, рддреЛ рд╡реЗ рдЗрддрдиреЗ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реЛрддреЗред рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдХрд┐рддрдиреА рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдореЗрдЯрд╛рдЪреИрдХрд░ * ред рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЪрд░рд┐рддреНрд░ рдХреЛ рдПрдХрд▓ рддреБрд▓рдирд╛ рдХреЗ рдмрдЬрд╛рдп рд╢реВрдиреНрдп рдпрд╛ рдЕрдзрд┐рдХ рдмрд╛рд░ рдорд┐рд▓рд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ca*t ct (0 рдЕрдХреНрд╖рд░ a ), cat (1 рд╡рд░реНрдг a ), caaat (3 рд╡рд░реНрдг a ) рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдЧрд╛ред рд░реЗрдЧреЗрдХреНрд╕ рдЗрдВрдЬрди рдореЗрдВ C рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ, рдЬреЛ рдЗрд╕реЗ 2 рдмрд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдгреЛрдВ рдХреЗ рдорд┐рд▓рд╛рди рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред (рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред

рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдЬреИрд╕реЗ * рд▓рд╛рд▓рдЪреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЗрдВрдЬрди рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рдХрдИ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрдВрдЬрди рд╡рд╛рдкрд╕ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЪрд░рд┐рддреНрд░ рдХреЗ рдХреБрдЫ рджреЛрд╣рд░рд╛рд╡ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреА рдЪрд░рдг-рджрд░-рдЪрд░рдг рдкрд░реАрдХреНрд╖рд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрдЧреАред рдЖрдЗрдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ a[bcd]*b ред рдпрд╣ рд╡рд░реНрдЧ [bcd] рд╕реЗ 'a' , рд╢реВрдиреНрдп рдпрд╛ рдЕрдзрд┐рдХ рд╡рд░реНрдгреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдЕрдВрддрд┐рдо рдЕрдХреНрд╖рд░ 'b' ред рдЕрдм рдЗрд╕ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ abcbd ред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рддреБрд▓рдирд╛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рд╣реЛрддреА рд╣реИ:

1. a - 'a' рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ
2. abcbd - рдЗрдВрдЬрди [bcd]* рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдгреЛрдВ рддрдХ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдпрд╛рдиреА рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рддрдХ (рдЪреВрдВрдХрд┐ рд╕рднреА рд╡рд░реНрдг рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдореЗрдВ рд╣реИрдВ []]
3. рд╡рд┐рдлрд▓рддрд╛ - рдЗрдВрдЬрди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдЕрдВрддрд┐рдо рдЕрдХреНрд╖рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ - рдЕрдХреНрд╖рд░ b , рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдЗрди рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реИ, рдЬрд╣рд╛рдВ рдХреЛрдИ рд╡рд░реНрдг рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
4. abcb - рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЧрдпрд╛, рдПрдХ рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рдХрдо [bcd]* рд╕рд╛рде рддреБрд▓рдирд╛
5. рд╡рд┐рдлрд▓рддрд╛ - b рдлрд┐рд░ рд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдХреЗрд╡рд▓ d
6. abc - рдлрд┐рд░ рд╕реЗ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ, рдЕрдм [bcd]* рдпрд╣ рд╕рд┐рд░реНрдл рдмреАрд╕реА рд╣реИ
7. abcb - рдлрд┐рд░ рд╕реЗ, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрдВрддрд┐рдо рдЪрд░рд┐рддреНрд░ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВ - рдмреАред рдЕрдм рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ рдФрд░ рд╣рдо рд╕рдлрд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ

рдЗрд╕рд▓рд┐рдП, рдкреАрдмреА рдХрд╛ рдЕрдВрдд рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ abcb рдиреЗ рдХрд░ рджреАред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЬрди рдкрд╣рд▓реЗ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЙрд╕реЗ рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдлрд┐рд░ рд╕реЗ рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдХреА рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд╣ рдРрд╕рд╛ рддрдм рддрдХ рдХрд░реЗрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдЙрд╕реЗ [bcd]* рд▓рд┐рдП рд╢реВрдиреНрдп рдореИрдЪ рди [bcd]* , рдФрд░ рдпрджрд┐ рдХреЛрдИ рдореИрдЪ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ PB рдкреИрдЯрд░реНрди рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИред

рдЕрдиреНрдп рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдЯрд╛рдЪреИрдХрд░ + , рддреБрд▓рдирд╛ рдХреНрд░рдо рдХреЛ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдмрд╛рд░ рджреЛрд╣рд░рд╛ рд░рд╣рд╛ рд╣реИред * рдФрд░ + рдХреЗ рдЕрдВрддрд░ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдВред * рдЖрд╡рд╢реНрдпрдХ рднрд╛рдЧ рдХреЛ рд╢реВрдиреНрдп рдпрд╛ рдЕрдзрд┐рдХ рдмрд╛рд░ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рдд, рд░рд┐рдкреАрдЯ рдмрд┐рд▓реНрдХреБрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди + рдХрдо рд╕реЗ рдХрдо рдПрдХ рдШрдЯрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ca+t cat рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдЧрд╛ рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, caaat , рд▓реЗрдХрд┐рди ct рдирд╣реАрдВред

рджреЛ рдФрд░ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд╡рд╛рд▓реАрдлрд╛рдпрд░ рд╣реИрдВред рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди ? рдПрдХ рдореИрдЪ рд╢реВрдиреНрдп рдпрд╛ рдПрдХ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, home-?brew homebrew рдФрд░ home-brew рджреЛрдиреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдкреВрд░реНрдг рджреЛрд╣рд░рд╛рд╡ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ {m,n} , рдЬрд╣рд╛рдБ m рдФрд░ n рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВред рдЗрд╕ рдирд┐рд░реНрдзрд╛рд░рдХ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо m рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ n рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, a/{1,3}b a/b , a/b , a//b рдФрд░ a///b рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдпрд╣ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рдкрдВрдХреНрддрд┐ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рд╕реНрд▓реИрд╢ рдпрд╛ a////b , рдЬрд┐рд╕рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдЪрд╛рд░ рд╣реИрдВред

рдЖрдк m рдпрд╛ n рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдЪрд┐рдд рдореВрд▓реНрдп рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред m рдХрдо рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдирд┐рдЪрд▓реА рд╕реАрдорд╛ 0 рд╣реИ, n рдХреЛ рдХрдо рдХрд░рдирд╛ рдКрдкрд░реА рд╕реАрдорд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдирдВрдд рдХреЛ рдорд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╕реНрдореГрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИред

рдкрд╛рдардХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рдереЗ рдХрд┐ рдЕрдВрддрд┐рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреАрдиреЛрдВ рдЕрдиреНрдп рдХреНрд╡рд╛рд▓реАрдлрд╛рдпрд░ рд╡реНрдпрдХреНрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ {0,} рдХреЗ рд░реВрдк рдореЗрдВ * , {1,} рд╕рдорд╛рди рд╣реИ + рдФрд░ {0,1} рд╕рдВрдХреЗрдд рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ? ред

рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рдЕрдм рдЬрдм рд╣рдордиреЗ рдХреБрдЫ рд╕рд░рд▓ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдкрд╛рдпрдерди рдореЗрдВ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? re рдореЙрдбреНрдпреВрд▓ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдореИрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рдВрдХрд▓рди

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреИрдЯрд░реНрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрд╢рди рдХреЗ рддрд░реАрдХреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдкреИрдЯрд░реНрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЦреЛрдЬрдирд╛ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░рдирд╛ред

>>> рдЖрдпрд╛рдд рдлрд┐рд░ рд╕реЗ
>>> рдкреА = рд░реА ред рд╕рдВрдХрд▓рди ( 'рдЕрдм *' )
>>> рдкреНрд░рд┐рдВрдЯ рдкреА
< _sreред SRE_Pattern рдСрдмреНрдЬреЗрдХреНрдЯ 0x ... > рдкрд░


re.compile() рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рд╡рд┐рд╡рд┐рдзрддрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХреЛрдВ рдХреЛ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ:

>>> p = re.compile('ab*', re.IGNORECASE)

рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ re.compile() рдХреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджреА рдЬрд╛рддреА рд╣реИред рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкрд╛рдпрдерди рднрд╛рд╖рд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред (рдРрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рднрд╛рд╖рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рднреВрд▓ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред) рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдПрдХ re рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЬреЛ рд╕реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рд╣реИ, рдЬреИрд╕реЗ socket рдпрд╛ zlib рдореЙрдбреНрдпреВрд▓ред

рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкрд╛рд╕ рдХрд░рдирд╛ рдкрд╛рдпрдерди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдПрдХ рдЦрд╛рдореА рд╣реИ, рдЬреЛ рдЕрдЧрд▓реЗ рдЦрдВрдб рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред

рдмреИрдХреНрд╕рд▓реЗрд╢ рдЖрдкрджрд╛
(рдпрд╛ рд░рд┐рд╡рд░реНрд╕ рддрд┐рд░рдЫрд╛ рдкреНрд▓реЗрдЧ :))



рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рдПрдХ рдмреИрдХрд╕реНрд▓реИрд╢ рдЪрд░рд┐рддреНрд░ ( '\' ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдЕрдкрдиреА рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рдЦреЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╣реА рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдореЗрдВ рдПрдХ рд╣реА рдЪрд░рд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдШрд░реНрд╖ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред

рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ LaTeX рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрдирд╛ рд╣реИ, рд╣рдо рдЙрд╕ рд░реЗрдЦрд╛ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдорд┐рд▓рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдмреИрдХрд╕реНрд▓реИрд╢ рдФрд░ рдЕрдиреНрдп рдореЗрдЯрд╛рдЪреИрдЯрд░реНрд╕ рдХреЛ рдмреИрдХрд╕реНрд▓реИрд╢ рд╕реЗ рдмрдЪрдХрд░ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ \\ рднрд╛рдЧ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░, рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ re.compile () рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП \\section ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕реЗ рдкрд╛рдпрдерди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛрдиреЛрдВ рдмреИрдХрд╕реНрд▓реИрд╢ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рдд, "\\\\section" ред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдмреИрдХрд╕реНрд▓реИрд╢ рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ '\\\\' рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ \\ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдмреИрдХрд╕реНрд▓реИрд╢ рдХреЛ рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдорд╛рдзрд╛рди рд╣реИ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХрдЪреНрдЪреЗ рддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП; рдЙрдкрд╕рд░реНрдЧ 'r' рд╕рд╛рде рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдореЗрдВ 'r' рд╕реНрд▓реИрд╢ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП r"\n" рджреЛ рд╡рд░реНрдгреЛрдВ ('\' рдФрд░ 'n') рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ, рдФрд░ "\ n" рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╡рд░реНрдг рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХрдЪреНрдЪреЗ рддрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЕрдХреНрд╕рд░ рд▓рд┐рдЦреА рдЬрд╛рдПрдЧреАред

рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧрдХрдЪреНрдЪрд╛ рддрд╛рд░
'рдЕрдм *r'ab * '
'\\\\ рдЕрдиреБрднрд╛рдЧ'r '\\ рдЕрдиреБрднрд╛рдЧ *'
'\\ w + \\ s + \\ 1'r '\ w + \ s + \ 1'


рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛


рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрдХрд▓рд┐рдд рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ? рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдИ рд╡рд┐рдзрд┐рдпрд╛рдБ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВред рдХреЗрд╡рд▓ рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпрд╣рд╛рдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛; рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП re рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВред

рд╡рд┐рдзрд┐ / рдЧреБрдгрд▓рдХреНрд╖реНрдп
рдореИрдЪ ()рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ
рдЦреЛрдЬ ()рд╕рднреА рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореИрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдВ
рдЦреЛрдЬ ()рд╕рднреА regex рдорд┐рд▓рд╛рди рд╕рдмреНрд╕рдЯреНрд░реЗрдЯ рдЦреЛрдЬреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ
рдЦреЛрдЬрдХ ()рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореИрдЪреЛрдВ рдХреЗ рд╕рднреА рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдЦреЛрдЬреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рдПрдВ


рдЕрдЧрд░ рдХреЛрдИ рдореИрдЪ рдирд╣реАрдВ рдорд┐рд▓рд╛, рддреЛ match() рдФрд░ search() None рд▓реМрдЯрд╛ред рдпрджрд┐ рдЦреЛрдЬ рд╕рдлрд▓ рд╣реЛрддреА рд╣реИ, рддреЛ MatchObject рдЙрджрд╛рд╣рд░рдг рдореИрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдпреБрдХреНрдд рд╣реЛрддрд╛ рд╣реИ: рдЬрд╣рд╛рдВ рдпрд╣ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдореИрдЪ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдЗрд╕реА рддрд░рд╣ред

рдЖрдк re рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдкрд╛рдпрдерди рд╡рд┐рддрд░рдг рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ Tools/scripts/redemo.py , рдПрдХ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдФрд░ рддрд╛рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред redemo.py рдЬрдЯрд┐рд▓ рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдВрд╕ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд▓ рд╢реНрд╡рд╛рд░реНрдЯреНрдЬ рдХрд╛ рдХреЛрдбреЛрд╕ рдкреАрдмреА рдореЙрдбрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреНрдп рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рдЙрдкрдХрд░рдг рд╣реИред

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

>>> рдЖрдпрд╛рдд рдлрд┐рд░ рд╕реЗ
>>> рдкреА = рд░реА ред рд╕рдВрдХрд▓рди ( '[az] +' )
>>> рдкреА
< _sreред SRE_Pattern рдСрдмреНрдЬреЗрдХреНрдЯ 0x ... > рдкрд░


рдЕрдм рдЖрдк рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ [az]+ рд▓рд┐рдП рддрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЦрд╛рд▓реА рд░реЗрдЦрд╛ рдЗрд╕рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рдПрдЧреА, рдХреНрдпреЛрдВрдХрд┐ + рдЕрд░реНрде "рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ" рдмрд╛рд░ рджреЛрд╣рд░рд╛рдирд╛ рд╣реИред match() рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ None рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ:

>>> рдкреАред рдореИрдЪ ( "" )
>>> рдкреНрд░рд┐рдВрдЯ рдкреАред рдореИрдЪ ( "" )
рдХреЛрдИ рдирд╣реАрдВ


рдЕрдм рдПрдХ рдкрдВрдХреНрддрд┐ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬреЛ рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: 'tempo' ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, match() рдПрдХ MatchObject , рдЬрд┐рд╕реЗ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЪрд░ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

>>> рдПрдо = рдкреАред рдореИрдЪ ( 'рдЯреЗрдореНрдкреЛ' )
>>> рдкреНрд░рд┐рдВрдЯ рдПрдо
< _sreред 0x ... > рдкрд░ SRE_Match рдСрдмреНрдЬреЗрдХреНрдЯ


рдЕрдм рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MatchObject рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред MatchObject рдореЗрдВ рдХрдИ рд╡рд┐рдзрд┐рдпрд╛рдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ:

рд╡рд┐рдзрд┐ / рдЧреБрдгрд▓рдХреНрд╖реНрдп
рд╕рдореВрд╣ ()рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯреЗрдВ рдЬреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ
рд╢реБрд░реВ ()рд╡рд╛рдкрд╕реА рд╢реБрд░реВ рдореИрдЪ рдХреА рд╕реНрдерд┐рддрд┐
рдЕрдВрдд ()рдореИрдЪ рдХрд╛ рдЕрдВрддрд┐рдо рд╕реНрдерд╛рди рд▓реМрдЯрд╛рдПрдВ
рд╕реНрдкрд╛рди ()рдорд┐рд▓рд╛рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЯрдкрд▓ (рдЖрд░рдВрдн, рдЕрдВрдд) рд╡рд╛рдкрд╕ рдХрд░реЗрдВ

>>> рдПрдоред рд╕рдореВрд╣ ( )
'рдЧрддрд┐'
>>> рдПрдоред рд╢реБрд░реВ ( ) , рдПрдоред рдЕрдВрдд ( )
( 0 , 5 )
>>> рдПрдоред рд╕реНрдкрд╛рди ( )
( 0 , 5 )


рдЪреВрдВрдХрд┐ match() рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдореИрдЪреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИ, start() рд╣рдореЗрд╢рд╛ рд╡рд╛рдкрд╕ рдЖрдПрдЧреА 0. рд╣рд╛рд▓рд╛рдВрдХрд┐, search() рд╡рд┐рдзрд┐ рдкреВрд░реА рд▓рд╛рдЗрди рдХреЛ рд╕реНрдХреИрди рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрдд рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╢реВрдиреНрдп:

>>> рдкреНрд░рд┐рдВрдЯ рдкреАред рдореИрдЪ ( '::: рд╕рдВрджреЗрд╢' )
рдХреЛрдИ рдирд╣реАрдВ
>>> рдПрдо = рдкреАред рдЦреЛрдЬ ( '::: рд╕рдВрджреЗрд╢' ) ; рдкреНрд░рд┐рдВрдЯ рдПрдо
< _sreред 0x ... > рдкрд░ SRE_Match рдСрдмреНрдЬреЗрдХреНрдЯ
>>> рдПрдоред рд╕рдореВрд╣ ( )
'рд╕рдВрджреЗрд╢'
>>> рдПрдоред рд╕реНрдкрд╛рди ( )
( рек , резрез )


рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ, рд╕рдмрд╕реЗ рдЖрдо рд╢реИрд▓реА рдПрдХ рдЪрд░ рдореЗрдВ MatchObject рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд MatchObject рд░рд╣реА рд╣реИ, рдФрд░ рдлрд┐рд░ None рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдкреА = рд░реА ред рд╕рдВрдХрд▓рди ( ... )
рдо = рдкред рдореИрдЪ ( 'рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрд╣рд╛рдБ рдЬрд╛рддрд╛ рд╣реИ' )
рдпрджрд┐ рдПрдо:
рдкреНрд░рд┐рдВрдЯ 'рдорд┐рд▓рд╛рди рдорд┐рд▓рд╛:' , рдПрдоред рд╕рдореВрд╣ ( )
рдФрд░ :
'рдиреЛ рдореИрдЪ' рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ


рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рджреЛ рддрд░реАрдХреЗ рд╕рднреА рдореИрдЪ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред findall() рдорд┐рд▓рд╛рди рд╡рд╛рд▓реЗ рдкрджрд╛рд░реНрдереЛрдВ рдХреА рд╕реВрдЪреА рд▓реМрдЯрд╛рддрд╛ рд╣реИ:

>>> рдкреА = рд░реА ред рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ ( ' \ d +' )
>>> рдкреАред Findall ( '12 рдбреНрд░рдорд░реНрд╕ рдбреНрд░рдорд┐рдВрдЧ, 11 рдкрд┐рдкрд░реНрд╕ рдкрд╛рдЗрдкрд┐рдВрдЧ, 10 рд▓реЙрд░реНрдбреНрд╕ рдП-рд▓реАрдкрд┐рдВрдЧ ' )
[ '12' , '11' , '10' ]


рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ findall() рд╡рд┐рдзрд┐ рдХреЛ рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдмрдирд╛рдиреА рд╣реЛрдЧреАред finditer() рд╡рд┐рдзрд┐ MatchObject рд░реВрдк рдореЗрдВ MatchObject рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд╛ рдПрдХ рдХреНрд░рдо рджреЗрддрд╛ рд╣реИред

>>> рдЗрдЯреЗрдЯрд░ = рдкреАред рдЦреЛрдЬрдХ ( '12 рдвреЛрд▓рдХ рдмрдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ , 11 ... 10 ...' )
>>> рдЗрдЯрд░реЗрдЯрд░
< callable-iterator рдСрдмреНрдЬреЗрдХреНрдЯ 0x401833ac > рдкрд░
>>> рдореИрдЪ рдХреЗ рд▓рд┐рдП рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐:
... рдкреНрд░рд┐рдВрдЯ рдореИрдЪред рд╕реНрдкрд╛рди ( )
...
( 0 , 2 )
( реиреи , реирек )
( реи реп , рейрез )


рдореЙрдбреНрдпреВрд▓ рд╕реНрддрд░ рдХреЗ рдХрд╛рд░реНрдп


рдЖрдкрдХреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдирдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; re рдореЙрдбреНрдпреВрд▓ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рдХрд╛рд░реНрдп match(), search(), findall(), sub() рдФрд░ рдЗрд╕реА рддрд░рд╣ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ PB рдХреЗ рд╕рд╛рде, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рддрд░реНрдХ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ None рдпрд╛ MatchObject рднреА None MatchObject ред

>>> рдкреНрд░рд┐рдВрдЯ рд░реА ред рдорд┐рд▓рд╛рди ( r 'From \ s +' , 'Fromage amk' )
рдХреЛрдИ рдирд╣реАрдВ
>>> рдкреБрдирдГ ред рдореИрдЪ ( r 'рдлреНрд░реЙрдо \ _ +' , 'рдПрдордХ рдереВ рд╕реЗ 14 рдордИ 19:12:10 1998' )
< _sreред 0x ... > рдкрд░ SRE_Match рдСрдмреНрдЬреЗрдХреНрдЯ


рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВред рд╡реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреИрд╢ рдореЗрдВ рднреА рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрд╕реА рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреА рдХреЙрд▓ рддреЗрдЬреА рд╕реЗ рд╣реЛрдЧреАред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЛрдбрд┐рдВрдЧ рд╢реИрд▓реА рдкрд░ рдХрд┐рддрдиреА рдмрд╛рд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЛрдб рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдРрд╕реЗ рдХрд╛рд░реНрдп рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВред рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХрдИ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ, рдпрд╛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдПрдХрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛, рдЬреЛ рд╕рднреА рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣рд╛рдБ xmllib.py рд╕реЗ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ:

ref = re.compile( ... )
entityref = re.compile( ... )
charref = re.compile( ... )
starttagopen = re.compile( ... )


рдореИрдВ рдЦреБрдж рднреА рд╕рдВрдХрд▓рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ-рдмрд╛рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рднреА, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдЗрд╕рдореЗрдВ рдЙрддрдирд╛ рд╣реА рд╢реБрджреНрдз рд╣реЛрдЧрд╛ рдЬрд┐рддрдирд╛ рдореИрдВ рд╣реВрдВред

рд╕рдВрдХрд▓рди рдХреЗ рдЭрдВрдбреЗ


рд╕рдВрдХрд▓рди рдХреЗ рдЭрдВрдбреЗ рдЖрдкрдХреЛ рдХреБрдЫ рдкрд╣рд▓реБрдУрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдлреНрд▓реИрдЧ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рджреЛ рдирд╛рдореЛрдВ рдХреЗ рддрд╣рдд рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: рд▓рдВрдмрд╛, рдЬреИрд╕реЗ IGNORECASE рдФрд░ рдЫреЛрдЯрд╛, рдПрдХрд▓-рдЕрдХреНрд╖рд░ рд░реВрдк рдореЗрдВ, рдЬреИрд╕реЗ I рдмрд╛рдЗрдирд░реА OR рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рдЭрдВрдбреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП re.I | re.M re.I | re.M рдЭрдВрдбреЗ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ I рдФрд░ Mред

рдбреЙрдЯрд▓ рдиреЗ рдПрд╕
рдорд┐рд▓рд╛рди '.' рдЬреИрд╕рд╛ рд╣реИ '.' , рд╡рд╣ рд╣реИ, рдХрд┐рд╕реА рднреА рд╡рд░реНрдг рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ рдзреНрд╡рдЬ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╡рд░реНрдг рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

IGNORECASE, I
рдХреЗрд╕ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдорд┐рд▓рд╛рди; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, [AZ] рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░реЛрдВ рд╕реЗ рднреА рдореЗрд▓ рдЦрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП Spam Spam, spam, spAM рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдореЗрд▓ Spam, spam, spAM ред

LOCALE, L
\w, \W, \b, \B рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдлреНрд░реЗрдВрдЪ рдкрд╛рда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╢рдмреНрджреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП \w+ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди \w рдХреЗрд╡рд▓ рд╕реЗрдЯ [A-Za-z] рдХреЗ рдкрд╛рддреНрд░реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ '├й' рдпрд╛ '├з' рдХреА рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рд╕рд┐рд╕реНрдЯрдо рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдлреНрд░реЗрдВрдЪ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ '├й' рдХреЛ рдПрдХ рдкрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред

рдорд▓реНрдЯреАрд▓рд╛рдЗрди, рдПрдо
(рдореЗрдЯрд╛рдЪреИрдЯрд░рд░реНрд╕ ^ рдФрд░ $ рдХрд╛ рдЕрднреА рддрдХ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдореИрдиреБрдЕрд▓ рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрд╛рдж рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдорддреМрд░ рдкрд░ ^ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдореИрдЪ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ, рдФрд░ $ рдХреЗ рдЕрдВрдд рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рд╡рд░реНрдг (рдпрджрд┐ рдХреЛрдИ рд╣реЛ) рд╕реЗ рдкрд╣рд▓реЗред рдпрджрд┐ рдпрд╣ рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, ^ рддреБрд▓рдирд╛ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдиреНрдпреВрд▓рд╛рдЗрди рд╡рд░реНрдг рдХреЗ рддреБрд░рдВрдд рдмрд╛рджред рдЗрд╕реА рддрд░рд╣ $ ред

рдпреВрдирд┐рдХреЛрдб, рдпреВ
\w, \W, \b, \B, \d, \D, \s, \S рд╕рдВрдмрдВрдзрд┐рдд рдпреВрдирд┐рдХреЛрдб рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИред

VERBOSE, X
рдЗрд╕рдореЗрдВ рд╡рд░реНрдмреЛрдЬрд╝ (рдХреНрд░рд┐рдпрд╛) рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рдзреНрд╡рдЬ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рд╡рд░реНрдг рд╡рд░реНрдЧ рдореЗрдВ рди рд╣реЛрдВ рдпрд╛ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдмреИрдХрд╕реНрд▓реИрд╢ рд╕реЗ рдкрд╣рд▓реЗ рди рд╣реЛрдВ; рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдзреНрд╡рдЬ рдЖрдкрдХреЛ '#' рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдорд┐рдд рднрд╛рд╡реЛрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЖрд░рд╡реА рдкрдврд╝рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

charref = рдкреБрдирдГ ред рд╕рдВрдХрд▓рди ( рдЖрд░ "")
рдФрд░ [#] # рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЗрдХрд╛рдИ рд╕рдВрджрд░реНрдн рдХреА рд╢реБрд░реБрдЖрдд
(
0 [4-7] + # рдСрдХреНрдЯрд▓ рд░реВрдк
| [0-9] + # рджрд╢рдорд▓рд╡ рдХрд╛ рд░реВрдк
| x [0-9a-fA-F] + # рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд░реВрдк
)
; # рдЕрдиреБрдЧрд╛рдореА рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо
"" " , рдкреБрдирдГ ред VERBOSE )


рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд┐рдирд╛, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

charref = рдкреБрдирдГ ред рд╕рдВрдХрд▓рди ( "& # (0 [4-7] +"
"ред [0-9] +"
"ред x [0-9a-fA-F] +);" )


рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкрд╛рдпрдерди рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЯрд░рд▓реНрд╕ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдВрдШрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреАрдмреА рдХреЛ рдЫреЛрдЯреЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдмрд┐рдирд╛, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдордЭрдирд╛ рдХрдард┐рди рд╣реИ re.VERBOSEред

рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╣рдо рдЕрднреА рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕рдореАрдХреНрд╖рд╛ рдкреВрд░реА рдХрд░реЗрдВрдЧреЗред рдореИрдВ рдЖрдкрдХреЛ рджреВрд╕рд░реЗ рд╣рд╛рдл рд╕реЗ рдкрд╣рд▓реЗ рдереЛрдбрд╝рд╛ рдЖрд░рд╛рдо рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ , рдЬрд┐рд╕рдореЗрдВ рдЕрдиреНрдп рдореЗрдЯрд╛рдЪреИрдЯрд░рд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдХрд╣рд╛рдиреА рд╣реИ, рд╡рд┐рднрд╛рдЬрди рдХреЗ рддрд░реАрдХреЗ, рдЦреЛрдЬ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рдЬрдЧрд╣, рдФрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реИред

рд╡рд┐рд╕реНрддрд╛рд░

Source: https://habr.com/ru/post/In115825/


All Articles