#javascript #regex
#javascript #регулярное выражение
Вопрос:
Используя Javascript, есть ли способ захватить только цифры после знака доллара?
Пример текста:
«2000 Toyota Corolla — 1300 долларов»
Я хочу, чтобы конечный результат был просто 1300
не $1300
Комментарии:
1.
/$[d] /g
.. затем удалите$
.2. @Mr_Green — У нас есть группы захвата не просто так..
Ответ №1:
Вот пример того, что вы можете сделать:
var str = "2000 Toyota Corolla - $1300";
var n = str.match(/$(d )/);
console.log(n[1]); // 1300
Вот скрипка
Комментарии:
1. Потрясающе! Я думаю, что мне не хватало всей концепции группы захвата. Я захватывал всю строку, а затем получал смещение подстроки на 1 символ, но это намного эффективнее.
2. ДА… n[0] будет полным совпадением, а затем n [1], n [2] и т.д. Будут разделами в скобках (если таковые имеются)
Ответ №2:
Есть несколько решений:
- Если вы хотите захватить цифры:
$(d )
Если вы хотите, чтобы все совпадение соответствовало только цифрам:(lookbehind недоступен в JS)(?<=$)d
Комментарии:
1. Поиск регулярных выражений в JavaScript?!
2. Извините за это, я должен был более четко заявить, что это для JS.
Ответ №3:
Следующее регулярное выражение должно выполнить эту работу:
/$(d )/
Комментарии:
1. зачем вам нужна
[^$]*
часть? Просто экранируйте доллар, чтобы это не означало конец строки.2. @MightyPork — Это правда. Должно быть, я наполовину спал! Tks.