Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Помогите экранировать регулярку |
Автор: shtormIK 26.6.2012, 11:59 | ||||
Уже мозг кипит, не понимаю, что не так. Помогите разобраться пожалуйста. вот к примеру такой код работает, шаблон подходит.
Но мне нужно вставить в него переменную, значит надо задавать паттерн в другом виде... экранируем всё и вся
... шаблон не подходит ... что-то не так. |
Автор: baldina 26.6.2012, 12:51 | ||
|
Автор: shtormIK 26.6.2012, 13:04 |
baldina, не... ругается javascript invalid quantifier И экранировать вроде бы как все спецсимволы надо ? Специальные символы ( ) — круглые скобки; [ ] — квадратные скобки; \ — обраный слеш; . — точка; ^ — степень; $ — знак доллара; | — вертикальная черта; ? — вопросительный знак; + — плюс. |
Автор: Evghenusi 26.6.2012, 14:30 | ||||
shtormIK, что регулярка должна делать? не в обиду будет сказанно
Добавлено через 1 минуту и 26 секунд хм, baldina тоже самое предложил ![]() |
Автор: Aliance 26.6.2012, 14:54 |
А чем рабочий вариант не устраивает? |
Автор: Evghenusi 26.6.2012, 14:59 |
Автор: shtormIK 26.6.2012, 16:07 |
Ну вообще, насчёт экранирования http://a-panov.ru/2011/11/использование-переменных-в-регулярн/ а маска должна быть типа ###.99 или 999.9 где # это либо число, либо знак + либо знак - либо ничего 9 это число, либо ничего количество решёток или девяток в маске может быть и другим. Я делал пока просто для ### где кол-во решёток 3 |
Автор: Aliance 26.6.2012, 17:01 |
Evghenusi, вы сомневаетесь в моих способностях читать? Вопрос зачем? Ведь в приведённом примере по факту это не переменная, а константа. Если же регулярка задается, скажем, вводом пользователя/выборкой из БД или аналогичные варианты - тогда понятно, а иначе смысла не вижу делать через объект. |
Автор: shtormIK 27.6.2012, 10:10 | ||
Evghenusi, ну я как сделать хотел ... разбивал маску типа ###.99 на 2 части - до точки и после, проверял в левой решётка или девятка (в правой всегда 9) и считал длину обеих частей. Потом строил шаблон через регулярку. А переменная нужна чтоб ограничить именно кол-во симоволо в левой или правой части от точки Вы правильно думали насчёт переменной что-то типа такого должно было получится:
|
Автор: shtormIK 27.6.2012, 11:56 |
До меня наверное дошло, почему у меня фаербаг выдаёт ошибку invalid quantifier... забыл упомянуть одну деталь ... проект делаю в RADPHP XE2, будь он неладен ... он весь код перекомпилирует, преобразует. Из-за этого видимо и проблема |