ืื ืืข JavaScript ืฉื SpiderMonkey ืืฉืืืืฉ ืืคืืืจืคืืงืก
ืืฆืืื ืื ืื ืืข ื-RegExp ื-SpiderMonkey ืืชืืื ื ืืจืืื ื ืคืจื, ืื ืฉืืืคื ืืืชื ืืืืชื ืชืืื ืืืกืืช ืืืชืืื ืืืืืคื ืืื ืฆืืจื ืืืืฆืืข ืฉืื ืืืื ืืืืชืืื ืืืกืืก ืืงืื. ืืืืืืจืืืช ืืคืฉืจื ืืฉื ืช 2014 ืืืืืืฃ ืืช ืื ืืข ื-YARR RegExp ืฉืฉืืืฉ ืืืงืืจ ืืคืืืจืคืืงืก ืืืืื ืฉื ืื ืืข ื-Irregexp ื-V8. Irregexp ืงืฉืืจ ื-V8 API, ืงืฉืืจ ืืืกืคื ืืืฉืคื ืืืฉืชืืฉ ืืืืฆืื ืืืจืืืช ืืืืื ืืืืืืงื ืกืคืฆืืคืืื ื-V8. ืืชืืืื ืืืกืชืืืืช ืืืืฉืง ื-API ืืคื ืืื ืฉื SpiderMonkey ื-2014, ืื ืืข ื-Irregexp ื ืืชื ืืืืฉ ืืืืคื ืืืงื, ืืฉืื ืืืื ืฆืฆื, ืืืื ืืื '\u', ืืืืืช ืืืคืฉืจ
ืืืจืื ืืฆืขืจ, ืฉืืืจื ืขื ืืืื ืืกืื ืืจื ืืื ืงืฉื ืืืืจืฉืช ืืฉืืืื. ืขื ืืืคืขืชื ืฉื ืชืืื ืืช ืืืฉืืช ืืงืฉืืจืืช ืืืืืืืื ืจืืืืจืืื ืืชืงื ECMAScript 2018, ืืคืชืื Mozilla ืืฉืื ืืืฆื ืืืงื ืขื ืืขืืจืช ืฉืื ืืืื ื-Irregexp. ืืืืฆื, ืืืฆืข ืงืื ืกืคื ืขืืืคื, ืืืืคืฉืจ ืฉืืืืฉ ืืื ืืข Irregexp ืืืขื ืืื ืฉืื ืื ื-SpiderMonkey (ืืฉืื ืืืื ืืฆืืืฆืืื ืจืง ืืืืืคื ืืืืืืืืช ืฉื ืืืืงืื "#include").
ืืืกืืจืช ืืกืคืงืช ื-Irregexp ืืช ืืืืืืืช ืืกืคืฆืืคืืืช ืืืจืืฉืืช ื-V8, ืืจืืืช ืคืื ืงืฆืืืช ื ืืืื ืืืืจืื ืืืฆืืจืช ืงืื, ืืื ืื ืืื ื ื ืชืื ืื ืืงืืจืืื ืืืืืฉืืื ืืืืฆืขืืช ืื ืืขื ื ืืืื ืืืืจืื, ืืืืืื ืงืื ืืืื ื SpiderMonkey.
ืขืืืื ืื ืืข ื-RegExp ืืืคืฉืจ ื-Firefox ืืชืืื ืืชืืื ืืช ืืื ืืืืืืช ืขื ืฉื, ืืจืืืช ืชืืืื ืฉื Unicode, ืืื dotAll ืืืฆื Lookbehind:
-
ืงืืืฆืืช ืขื ืฉื ืืืคืฉืจ ืื ืืฉืืื ืืืงื ืืืจืืืช ืืืืชืืืื ืืืืืื ืจืืืืจื ืขื ืฉืืืช ืกืคืฆืืคืืื ืืืงืื ืืกืคืจืื ืกืืืืจืืื ืฉื ืืชืืืืช (ืืืืืื, ืืืงืื "/(\d{4})-(\d{2})-(\d{ 2})/" ืืชื ืืืื ืืฆืืื "/( ? \d{4})-(? \d{2})-(? \d{2})/" ืืืืฉื ืืฉื ื ืื ืืจื result[1], ืืื ืืจื result.groups.year). -
ืืจืืื ืืฉืืขืืจืื ืชืืื Unicode ืืืกืืคืื ืงืื ืกืืจืืงืฆืืืช \p{...} ื-\P{...}, ืืืืืื, \p{Number} ืืืืืจ ืืช ืื ืืชืืืื ืืืคืฉืจืืื ืขื ืืกืคืจืื (ืืืื ืกืืื ืื ืืื โ ), \p{Alphabetic} - ืืืชืืืช (ืืืื ืืืจืืืืืคืื ), \p{ืืชืืืืงื} - ืกืืืื ืืชืืืืื ืืื'. - ืืื
dotAll ืืืจื ืืืจื ืฉื ืืกืืช "." ืืืื ืชืืืื ืืืื ืช ืฉืืจื. - ืืฉืืจ
ืืกืชืื ืืืืจื ืืืคืฉืจ ืืงืืืข ืืืืืื ืจืืืืจื ืฉืชืื ืืช ืืืช ืงืืืืช ืืืืจืช (ืืืืืื, ืืชืืืช ืกืืื ืืืืจ ืืืื ืืืืื ืืช ืกืืื ืืืืืจ).
ืืคืจืืืงื ืืืฆืข ืืืฉืชืชืคืืช ืืคืชืื V8, ืืฉืจ ืืฆืื ืคืขืื ืืืคืืชืช ืืชืืืช ืฉื Irregexp ื-V8, ืืืขืืืจื ืืื ืคืืฆ'ืจืื ืฉืื ื ืืชื ืืืืฉื ืืืืฆืขืืช SpiderMonkey ืืืืืงืื ืฉื "#ifdef" ืืืฉืืืช. ืฉืืชืืฃ ืืคืขืืื ืืชืืจืจ ืืืืขืื ืืืื. ืืคืชืื ืืืืืื ืืฆืืื ืืืืฉื ืฉืื ืืืื ื-Irregexp ืฉืืืืืื ืืืง
ืืงืืจ: OpenNet.ru