Форум программистов, компьютерный форум, киберфорум
JavaScript: RegExp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
74 / 74 / 44
Регистрация: 12.02.2011
Сообщений: 380
1

Регулярное выражение, чтобы все знаки восклицания перенеслись в конец

07.06.2014, 14:42. Просмотров 1200. Ответов 3
Метки нет (Все метки)

Пытаюсь изучить регулярные выражения..
Java
1
2
3
4
5
6
7
    <script type="text/javascript">
 
        var re = /(\S.{+})(\$)/g; 
        var str = "Андрей сьел пи!!!!!!рог";
        document.write(str.replace(re, "$1","$2"));  
 
    </script>
Хочу сделать чтобы все знаки восклицания перенеслись в конец, подскажите)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2014, 14:42
Ответы с готовыми решениями:

Подскажите регулярное выражение, которое отыщет все подобные строчки
Для примера эти 3 строки, что бы видно какие части могут изменяться: ...

Дан массив из n строк. В каждой строке заменить все знаки восклицания точками
Дано масив з n рядків. В кожному рядку замінити всі знаки оклику крапками. помогите

Регулярное выражение. Определить конец
string text = &quot;Тратаааа ** /su/Pan/Pan/Czech/Cyu/Xul/ 111 Бам бам бам **...

Регулярное выражение: конец абзаца
Подскажите как в регулярных выражениях указать конец абзаца. В справочнике пишут, что знак доллара...

3
Эксперт JSЭксперт HTML/CSS
2423 / 1102 / 309
Регистрация: 23.06.2011
Сообщений: 3,455
07.06.2014, 22:05 2
Лучший ответ Сообщение было отмечено LeDep как решение

Решение

так или этак
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var re, v, s="Андрей сьел пи!!!!!рог";
re=/^(.*?)(!+)(.*?)$/g;
s=s.replace(re, "$1$3$2");
alert(s);
 
 
v="";
re=/(!+)/g;
s="!!!!Ан!!дрей сьел пи!!!!!!рог";
s=s.replace(re, function(a, b){
v=v+b;
return ""});
s=s+v;
alert(s);
1
74 / 74 / 44
Регистрация: 12.02.2011
Сообщений: 380
07.06.2014, 22:35  [ТС] 3
Цитата Сообщение от newJS Посмотреть сообщение
var re, v, s="Андрей сьел пи!!!!!рог";
re=/^(.*?)(!+)(.*?)$/g;
s=s.replace(re, "$1$3$2");
alert(s);
А можно краткий комментарий по регулярке в данном примере?)
0
Эксперт JSЭксперт HTML/CSS
2423 / 1102 / 309
Регистрация: 23.06.2011
Сообщений: 3,455
08.06.2014, 08:15 4
Делим строку на три части, запоминаем каждую, потом меняем местами две последние.
Работает только если будет один пакет знаков, если нужно много пакетов, то вторая регулярка.

Добавлено через 41 минуту
Второй вариант можно проще сделать, здесь скобки не нужны, запоминать не чего.
Javascript
1
2
3
4
5
re=/!+/g;
s="!!!!Ан!!дрей сьел пи!!!!!!рог";
s=s.replace(re, function(a){
v=v+a;
return ""});
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2014, 08:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Регулярное выражение - выбрать из строки слова и знаки препинания
Здравствуйте, уважаемые форумчане! Возникла проблема с построением регулярки для текста:...

Регулярное выражение - не находит конец строки
не могу взять текст между Location: и концом строки buf := 'Location: http://www.site.com/...

Подставить в заданное выражение знаки +,-,*,/ так, чтобы выражение было истинным
Помогите плз! Надо подставить в заданное выражение знаки +,-,*,/ так, чтобы выражение было...

Регулярное выражение неточно определяет конец искомого выражения
Здравствуйте. Не хотел постить но сил больше нету, уже четвертый час бьюсь немогу разобраца в чем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.