Для правильного вопроса надо знать половину ответа
Потому что кто-то (не будем показывать пальцем) поставил в конце выражения перенос строки. Ну и комбинация .*? в начале никакого смысла не имеет. https://regex101.com/r/Imz0k4/1
Для правильного вопроса надо знать половину ответа
У нас для этой цели небольшая самописная программа. Бухгалтер щёлкает на иконку в трее, выбирает из списка нужную организацию, IP-адрес компьютера меняется, роутер маршрутизирует трафик через соответствующий внешний IP.
Для правильного вопроса надо знать половину ответа
Через обфускаторы JS, почему-то, не получается...
Логично, поскольку код не обфусцирован. А большое количество "случайных цифр и букв разного регистра" это всего-лишь картинка в base64 (data:image/webp;base64).
Для правильного вопроса надо знать половину ответа
Одновременно один порт можно пробросить только на один адрес. Для HTTP(s) это решается через reverse proxy на том сервере, на который проброшен порт. Для SSH надо пробрасывать отдельный порт на каждый из адресов, например, внешний_IP:22 на внутренний_IP_1:22 и внешний_IP:2222 на внутренний_IP_2:22.
Для правильного вопроса надо знать половину ответа
Убедиться, что кодировка базы, таблиц, колонок задана utf8, а лучше utf8mb4.
Убедиться, что при подключении к базе кодировка соединения установлена utf8.
Для правильного вопроса надо знать половину ответа
Серверу не надо хранить рабочий JWT. Он просто берёт две первые части токена, вычисляет подпись, сравнивает с расшифрованной подписью токена и убеждается, что токен настоящий.
Для правильного вопроса надо знать половину ответа
Строковый примитив преобразуется в объект только при выполнении методов объекта, причём при преобразовании используется копия значения примитива, сама переменная не меняется.
x = 'foo'
x // "foo"
x.length // 3
x === 'foo' // true
x = new String('foo')
x // String { "foo" }
x.length // 3
x === 'foo' // false
При этом методы, как правило, возвращают не объекты, а примитивы.
x = new String('foo')
x === 'foo' // false
x.substring(0, 3) // 'foo'
x.substring(0, 3) === 'foo' // true
Для правильного вопроса надо знать половину ответа
Функция one() определяет переменную oneVar. Затем в ней определяется функция two(), в лексическое окружение которой попадает oneVar. В конце своей работы функция one() возвращает в качестве результата функцию two().
В переменную three записывается результат работы one(), то есть функция two(). Несмотря на то, что one() уже закончила работу, переменная oneVar сохраняется в лексическом окружении функции two().
При вызове three() фактически вызывается two(), в которой переменная oneVar доступна для использования.
Для правильного вопроса надо знать половину ответа
Конкретно для этих трёх случаев сработает /^(?:\D+\s+)?([^\s]*\d[^\s]*)(?:\s|$)/
То есть, первое встреченная часть строки, отделённая пробелами и содержащая хотя бы одну цифру.