Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

KeepAlive avatar KeepAlive 0 Точки

Rеgex с изключения

Здравейте,

някой по навътре в regex може ли да ми бутне едно рамо, понеже аз отделих 2 часа и реших, че няма смисъл да блъскам повече вместо да попитам и да губя още време.

Имам следният текст:

Welcome.to-RegEx_r.v2.0.03.by.gski.v2.0.03 danner.com!bla-la_122.232-13!

Това, което искам да направя е да прихвана всички точки, тирета и долни черти, за да мога да изчистя стринга, като ги заменя с празен интервал. Има едно условие обаче, и то е, че "v2.0.03" трябва да си остане така и точките му не трябва да се пипат. Тоест регекса трябва да го остави така и да започне от празния интервал или точка след него.

Стигнах до това:

/([\.\-\_])(?![\d])/g

което горе/долу е нещо и работи но почти работи... Проблемът е в края, където са цифрите и явно по някаква причина ако след тези знаци, които се опитвам да прихвана следва число, не го прихваща. Ако следва буква ги прихваща. Ще съм много благодарен, ако ми помогнете, понеже не мога да го измисля и се побърквам :)

Тагове:
0
Advanced Level: Front-End 18/06/2015 07:59:42
enevlogiev avatar enevlogiev 1168 Точки
/(?:\.(?!0.03|03))|(?:-|_)/g

Това може и да ти свърши работа, обаче има един проблем, понеже JavaScript не поддържа Lookbehind, няма как да се направи достатъчно прецизно и да опише точно целия v2.0.03 израз. Тоест има шанс някъде да пропусне нещо, примерно
blabla.0.03

Между другото, ако е разрешено леко да се "чийтва" има един хак - можеш преди да мачваш да замениш всичките v2.0.03 със нещо безсмислено, примерно Ž или ‡, след това да заменяш точки, тирета на воля и накрая да върнеш оригиналния израз на местото на плейсхолдърите.

Въпрос не по темата:
Защо тоя текстов редактор игнорира абсолютно всички форматирания, които се опитвам да направя, дава ми само да болдвам. Да поясня - докато пиша мога да си украсявам както си искам, след това като добавя отговора всичко е зачистено.

1
18/06/2015 10:42:53
KeepAlive avatar KeepAlive 0 Точки

Благодаря за отделеното време, но в текста тези числа са примерни и няма да ми вършат много работа, ако са различни :) Иначе и аз това се замислих, защо не мога да оцветя текста...

0
enevlogiev avatar enevlogiev 1168 Точки

А какво точно е условието, за да нагодим регекса както трябва ? Не трябва да се пипат точки между числа ? Имам чувство, че може да се опрости доста.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.