Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 01.06.2018, 22:00   #1
sem6703
 
Регистрация: 06.05.2015
Сообщений: 9
Репутация: 10
По умолчанию Какая регулярка отлавливает цифры использованные в качестве букв?

Есть строка в которой некоторые буквы заменены цифрами. Как найти такие цифры?
Должно работать так
5173 нет совпадений, т.к. это число
1eve1 совпадает 1 (единица вместо английской эл)
c010r совпадает 0 и 1 (ноль вместо буквы о, единица вместо эл)
Тестовая строка:
each pixe1 on the 1 c0l0rs c010r in a cyc1e multiply by 1 0, and then the s4me thing only with zdvigom 2 left
sem6703 вне форума   Ответить с цитированием
Старый 02.06.2018, 18:55   #2
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,781
Репутация: 3777
По умолчанию

Попробуйте так
Код:

(\d)[A-z]|[A-z](\d)

Но я не уверен, что оно вам поможет
______

Полагаю вас интересует составление такого выражения в контексте JS. В этом языке есть возможность составить условие на последующие символы, но не участвующие в строке соответствия, то есть, в результате. Например, вы можете потребовать найти все цифры, за которыми стоит буква, но так, чтобы эти буквы не участвовали в результате.

Вот выдержка из книги Девида Фленагана "JavaScript. Подробное руководство, 5-е издание".

Цитата:
В JavaScript 1.5 (но не в JavaScript 1.2) в качестве якорных условий могут также выступать произвольные регулярные выражения. Если поместить выражение между символами (?= и ), оно станет условием на последующие символы, требующим, чтобы эти символы соответствовали указанному шаблону, но не включались в строку соответствия. Например, найти имя языка программирования
JavaScript, но только там, где за ним следует двоеточие, можно посредством выражения /[Jj]ava([Ss]cript)?(?=\:)/. Этот шаблон найдет слово «JavaScript» в предложении «JavaScript: The Definitive Guide», но проигнорирует слово «Java» в предложении «Java in a Nutshell», т. к. после него нет двоеточия.
Как сообщается в этой книге, в языке нет средств для составления условий на предыдущие символы (имеется в Perl).

Последний раз редактировалось Вадим Мошев; 02.06.2018 в 19:22.
Вадим Мошев вне форума   Ответить с цитированием
Старый 02.06.2018, 21:34   #3
sem6703
 
Регистрация: 06.05.2015
Сообщений: 9
Репутация: 10
По умолчанию

Код:

c=c.replace(/([A-z])(\d+)/g,'$1<mark>$2</mark>');
c=c.replace(/(\d+)([A-z])/g,'<mark>$1</mark>$2');

Спасибо! Сейчас использую два регулярных выражения последовательно.
Работают корректно. Пока не придумал, как объединить их в одно.
sem6703 вне форума   Ответить с цитированием
Старый 03.06.2018, 00:01   #4
Naive
Раздолбайских Дел
Профессионал
 
Аватар для Naive
 
Регистрация: 22.05.2009
Адрес: Екатеринбург
Сообщений: 3,706
Репутация: 2205
По умолчанию

Код:

[A-z]

захватит очень большой диапазон символов, не являющихся буквами латинского алфавита.
Более правильным решением в данном случае было бы ловить
Код:

/[\da-z]+/ig

при этом, каждое совпадение проверять отдельно, в JS такая есть такая функциональная возможность на дефолтном уровне.
UPD: плюсик забыл
__________________
Работаю. В этот раз за деньги.
Жду ваши искренние спасибы на яндекс-кошелек: 410011068154587

Последний раз редактировалось Naive; 03.06.2018 в 00:04.
Naive вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод букв в цифры niki-maximal Общие вопросы Delphi 3 07.11.2012 18:30
Написать функцию, которая проверяет, что в строке, переданной в качестве аргумента, соблюдается баланс точек и заглавных букв morsekkk JavaScript, Ajax 8 06.11.2012 20:32
Перевод букв в цифры Peperovich Общие вопросы C/C++ 3 22.12.2011 19:08
Паскаль. найти цифры среди букв и поменять местами. grom333 Паскаль 3 14.01.2011 23:32
какая из букв встречается в данной строке чаще StudeHt Помощь студентам 8 12.04.2009 00:28


05:02.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru