Используя ES2017, вы должны иметь это как объявление функции
async function foo() {
var response = await $.ajax({url: '...'})
return response;
}
и выполнить его следующим образом.
(async function() {
try {
var result = await foo()
console.log(result)
} catch (e) {}
})()
Или синтаксис Promise
foo().then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
[A-z]
будет соответствовать символам ASCII в диапазоне от A
до z
, а [a-zA-Z]
будет соответствовать символам ASCII в диапазоне от A
до Z
и в диапазоне от a
до z
. На первый взгляд это может показаться эквивалентным - однако, если вы посмотрите на эту таблицу символов ASCII, вы увидите, что A-z
включает несколько других символов. В частности, это [
, \
, ]
, ^
, _
и `` `(которые вам явно не нужны).
Квадратные скобки создают класс символов, а дефис является сокращением для добавления каждого символа между двумя указанными символами. то есть [A-F]
можно записать [ABCDEF]
.
Класс символов [A-z]
будет соответствовать каждому символу между этими символами, который в ASCII включает в себя некоторые другие символы, такие как «[',' \ 'и'] '.
альтернативой заданию обоих случаев было бы установить регулярное выражение нечувствительным к регистру с помощью модификатора /i
.
Посмотрите на таблицу ASCII . Вы увидите, что между Z
и a
есть некоторые символы, поэтому вы будете соответствовать больше, чем вы намерены.
Когда вы посмотрите на таблицу ASCII, вы увидите следующее:
A = 65
Z = 90
a = 97
z = 122
Итак, [A-z]
будет соответствовать каждому символу от 65 до 122. Это включает в себя эти символы (91 -> 97
):
[\]^_`
Это означает, что [A-Za-z]
будет соответствовать только алфавиту, без отмеченных символов
Посмотрите на диаграмму ASCII (на основе которых лежат символы Java): между Z и a имеется довольно много символов пунктуации, а именно:
[\]^ _`
Аг соответствует совпадению «от» до «z» AZ «A» до «Z» Az соответствует всем этим, а также символам между «Z» и «a», которые являются [] ^ / _ `