SpiderMonkey JavaScript рдЗрдВрдЬрд┐рди Firefox рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ
рд╣реЗ рдиреЛрдВрджрд╡рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдХреА рд╕реНрдкрд╛рдпрдбрд░рдордБрдХреА рдордзреАрд▓ RegExp рдЗрдВрдЬрд┐рди рд╕реНрд╡рддрдВрддреНрд░ рдШрдЯрдХ рдореНрд╣рдгреВрди рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рддреЗ рддреБрд▓рдиреЗрдиреЗ рд╕реНрд╡рддрдВрддреНрд░ рдЖрдгрд┐ рдХреЛрдб рдмреЗрд╕рдордзреНрдпреЗ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрджрд▓ рди рдХрд░рддрд╛ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдмрдирд╡рддреЗ. рдореЙрдбреНрдпреБрд▓реЕрд░рд┐рдЯреАрдореБрд│реЗ 2014 рдордзреНрдпреЗ рдлрд╛рдпрд░рдлреЙрдХреНрд╕рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ YARR RegExp рдЗрдВрдЬрд┐рди V8 рдордзреАрд▓ Irregexp рдЗрдВрдЬрд┐рдирдЪреНрдпрд╛ рдХрд╛рдЯреНрдпрд╛рдиреЗ рдмрджрд▓рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ. Irregexp рд╣реЗ V8 API рд╢реА рдмрд╛рдВрдзрд▓реЗрд▓реЗ рдЖрд╣реЗ, рдХрдЪрд░рд╛ рдЧреЛрд│рд╛ рдХрд░рдгрд╛рд▒реНрдпрд╛рд▓рд╛ рдмрд╛рдВрдзрд▓реЗрд▓реЗ рдЖрд╣реЗ, рдЖрдгрд┐ V8-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЖрдгрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбреЗрд▓ рд╡рд╛рдкрд░рддреЗ. 2014 рдордзреНрдпреЗ рд╕реНрдкрд╛рдпрдбрд░рдордБрдХреАрдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд API рд╢реА рдЬреБрд│рд╡реВрди рдШреЗрдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд, Irregexp рдЗрдВрдЬрд┐рди рдЕрдВрд╢рддрдГ рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрдгрд┐ рд╢рдХреНрдп рдЕрд╕реЗрд▓ рддреЗрдереЗ '\u' рдзреНрд╡рдЬ рд╕рд╛рд░рдЦреЗ рдЙрджрдпреЛрдиреНрдореБрдЦ рдмрджрд▓
рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреНрдб рдлреЛрд░реНрдХ рд░рд╛рдЦрдгреЗ рдХрдареАрдг рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рдЧрд╣рди рдЖрд╣реЗ. ECMAScript 2018 рдорд╛рдирдХрд╛рдВрдордзреНрдпреЗ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддреАрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрдЧрдордирд╛рдиреЗ, Mozilla рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдиреА Irregexp рдордзреВрди рдмрджрд▓ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛. рдПрдХ рдорд╛рд░реНрдЧ рдореНрд╣рдгреВрди, рдПрдХ рд░реЕрдкрд┐рдВрдЧ рд╕рдВрдХрд▓реНрдкрдирд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА, рдЬреА рд╕реНрдкрд╛рдпрдбрд░рдордБрдХреАрдордзреНрдпреЗ рдЬрд╡рд│рдЬрд╡рд│ рди рдмрджрд▓рд▓реЗрд▓реЗ рдЗрд░реЗрдЧрдПрдХреНрд╕рдПрдХреНрд╕ рдЗрдВрдЬрд┐рди рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ (рдмрджрд▓ рдХреЗрд╡рд│ "# рд╕рдорд╛рд╡реЗрд╢" рдмреНрд▓реЙрдХреНрд╕рдЪреНрдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдмрджрд▓реАрд╕рд╛рдареА рдХрдореА рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд).
рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдорд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЖрдгрд┐ рдХреЛрдб рдЬрдирд░реЗрд╢рди рдлрдВрдХреНрд╢рдиреНрд╕, рддрд╕реЗрдЪ рдореЗрдорд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЗрдВрдЬрд┐рди, рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдЖрдгрд┐ рд╕реНрдкрд╛рдпрдбрд░рдордБрдХреА рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕ рд╡рд╛рдкрд░реВрди рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдиреЗрдЯрд┐рд╡реНрд╣ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рд╕рд╣ рдЖрд╡рд╢реНрдпрдХ V8-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд╖рдорддрд╛рдВрд╕рд╣ Irregexp рд▓рд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ.
RegExp рдЗрдВрдЬрд┐рди рдЕрдкрдбреЗрдЯ рдХреЗрд▓реНрдпрд╛рдиреЗ рдлрд╛рдпрд░рдлреЙрдХреНрд╕рд▓рд╛ рдирд╛рдорд╛рдВрдХрд┐рдд рдХреЕрдкреНрдЪрд░, рдпреБрдирд┐рдХреЛрдб рдХреЕрд░реЗрдХреНрдЯрд░ рдХреНрд▓рд╛рд╕ рдПрд╕реНрдХреЗрдкрд┐рдВрдЧ, рдбреЙрдЯрдСрд▓ рдзреНрд╡рдЬ рдЖрдгрд┐ рд▓реБрдХрдмрд┐рд╣рд╛рдЗрдВрдб рдореЛрдб рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреЗ рд╕рдорд░реНрдерди рдХрд░рдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рдорд┐рд│реЗрд▓:
-
рдирд╛рдорд╛рдВрдХрд┐рдд рдЧрдЯ рдЬреБрд│рдгреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдиреБрдХреНрд░рдорд╛рдВрдХрд╛рдВрдРрд╡рдЬреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рд╡рд╛рдВрд╕рд╣ рд░реЗрдЧреНрдпреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдирджреНрд╡рд╛рд░реЗ рдЬреБрд│рд▓реЗрд▓реНрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдЪреЗ рднрд╛рдЧ рд╕рдВрдмрджреНрдз рдХрд░рдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬ/(\d{4})-(\d{2})-(\d{) 2})/тАЭ рддреБрдореНрд╣реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛ тАЬ/( ? \d{4})-(? \d{2})-(? \d{2})/" рдЖрдгрд┐ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рд╡рд╛ рдкрд░рд┐рдгрд╛рдо[1] рджреНрд╡рд╛рд░реЗ рдирд╛рд╣реА, рддрд░ result.groups.year рджреНрд╡рд╛рд░реЗ). -
рдПрд╕реНрдХреЗрдкрд┐рдВрдЧ рдХреНрд▓рд╛рд╕реЗрд╕ рдпреБрдирд┐рдХреЛрдб рдЕрдХреНрд╖рд░реЗ \p{...} рдЖрдгрд┐ \P{...} рд░рдЪрдирд╛ рдЬреЛрдбрддрд╛рдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, \p{Number} рд╕рдВрдЦреНрдпрд╛ рджрд░реНрд╢рд╡рд┐рдгрд╛рд░реЗ рд╕рд░реНрд╡ рд╕рдВрднрд╛рд╡реНрдп рд╡рд░реНрдг рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛рдд (тСа рд╕рд╛рд░рдЦреНрдпрд╛ рдЪрд┐рдиреНрд╣рд╛рдВрд╕рд╣), \p{рдЕрд▓реНрдлрд╛рдмреЗрдЯрд┐рдХ} - рдЕрдХреНрд╖рд░реЗ (рдпрд╛рд╕рд╣ рдЪрд┐рддреНрд░рд▓рд┐рдкреА ), \p{рдЧрдгрд┐рдд} тАФ рдЧрдгрд┐рддреАрдп рдЪрд┐рдиреНрд╣реЗ рдЗ. - рдлреНрд▓реЕрдЧ
dotAll "." рдорд╛рд╕реНрдХрд▓рд╛ рдЖрдЧ рд▓рд╛рд╡рддреЗ. рд▓рд╛рдЗрди рдлреАрдб рд╡рд░реНрдгрд╛рдВрд╕рд╣. - рдореЛрдб
рдорд╛рдЧреЗ рдкрд╛рд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдордзреНрдпреЗ рдПрдХ рдирдореБрдирд╛ рджреБрд╕рд░реНтАНрдпрд╛рдЪреНрдпрд╛ рдЖрдзреА рдЖрд╣реЗ рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдбреЙрд▓рд░ рдЪрд┐рдиреНрд╣ рдХреЕрдкреНрдЪрд░ рди рдХрд░рддрд╛ рдбреЙрд▓рд░рдЪреНрдпрд╛ рд░рдХрдореЗрд╢реА рдЬреБрд│рдгреЗ).
рд╣рд╛ рдкреНрд░рдХрд▓реНрдк V8 рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪреНрдпрд╛ рд╕рд╣рднрд╛рдЧрд╛рдиреЗ рдкрд╛рд░ рдкрд╛рдбрд▓рд╛ рдЧреЗрд▓рд╛, рдЬреНрдпрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рднрд╛рдЧрд╛рд╕рд╛рдареА, V8 рд╡рд░реАрд▓ Irregexp рдЪреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдо рдХреЗрд▓реЗ рдЖрдгрд┐ рд╕реНрдкрд╛рдпрдбрд░рдордБрдХреАрдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реА рдЕрд╢рд╛ рдХрд╛рд╣реА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдирд╛ "#ifdef" рдмреНрд▓реЙрдХреНрд╕рдордзреНрдпреЗ рдЕрдХреНрд╖рдо рдХреЗрд▓реЗ. рд╣реЗ рд╕рд╣рдХрд╛рд░реНрдп рдкрд░рд╕реНрдкрд░ рдлрд╛рдпрджреЗрд╢реАрд░ рдард░рд▓реЗ. рддреНрдпрд╛рдВрдЪреНрдпрд╛ рднрд╛рдЧрд╛рд╕рд╛рдареА, Mozilla рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕рдиреЗ Irregexp рдордзреНрдпреЗ рдмрджрд▓ рд╕рдмрдорд┐рдЯ рдХреЗрд▓реЗ рдЬреЗ рдХрд╛рд╣реА рдХрд╛рдвреВрди рдЯрд╛рдХрддрд╛рдд
рд╕реНрддреНрд░реЛрдд: opennet.ru