Задать вопрос

Как поступать с пересекающимися группами в регулярном выражении?

Хочу заменить в размерах буквы ха и ХА, икс и ИКС на правильный знак ×, но столкнулся с проблемой, когда написанная регулярка отлично подходит к строке 19X72X24 см и на срабатывает на строке 19X7X4 см

Согласно моей последней версии проблема возникает из-за пересечения групп выделенных в регулярном выражении. Символы под замену находятся мною с опорой на то, что справа и слева они них цифры. Поэтому 7 во втором примере попадает в группу первого икс и втрого. Это лучше видно на скриншоте

26dd297e154140f383b329dc6f2b89dc.pngКод смотреть здесь
  • Вопрос задан
  • 217 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Следует использовать группу без запоминания
replace(/(\d)\s*(x|X|х|Х|×)\s*(?=\d)/ig, '$1×')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
26 дек. 2024, в 14:50
2000 руб./за проект
26 дек. 2024, в 14:40
15000 руб./за проект
26 дек. 2024, в 14:27
100000 руб./за проект