Предстоящая спецификация языка ECMAScript, издание 6, включает регулярные выражения, поддерживающие Unicode. Поддержка должна быть активирована с помощью модификатора u
в регулярном выражении. См. регулярные выражения, поддерживающие Unicode в ES6 .
До тех пор, пока ES 6 не будет закончена и широко распространена среди поставщиков браузеров, вы все равно по-своему. Обновление: теперь существует транспилер с именем regexpu , который преобразует регулярные выражения Unicode ES6 в эквивалентные ES5. Он может использоваться как часть процесса сборки. Попробуйте в Интернете.
Несмотря на то, что JavaScript работает в строках Unicode, он не реализует классы символов, совместимые с Unicode, и не имеет понятия классов символов POSIX или блоков / поддиапазонов Unicode.
[\u2000-\u206F\u2E00-\u2E7F]
Возможно, что они просто скомпилировали его с новой версией компилятора Java, или с различными настройками оптимизации и т.д., так, чтобы функциональность была тем же, и код является тем же, но выходной байт-код немного отличается.
При поиске различий в уровне API, javap инструмент может быть большой справкой. Это произведет сигнатуры методов, и они могут быть произведены к простому тексту файлы и сравнили использующие нормальные различные инструменты.
Вы могли попытаться использовать различный инструмент (такой как свободный инструмент DiffMerge SourceGear) на декомпилируемых источниках. Это должно взять различия в файле, хотя это, вероятно, возьмет "незначительные" различия, например, если переменные назвали по-другому в этих двух версиях.
Можно использовать javap (в $JDK_HOME/bin) для декомпиляции Java .class файлы. Это скажет Вам (например), версию файла класса среди прочего