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

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

07.06.2014, 14:42. Просмотров 937. Ответов 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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2014, 14:42
Ответы с готовыми решениями:

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

Регулярное выражение
Здравствуйте! Не могли бы вы помочь составить регулярные выражения? 1. Строки...

Регулярное выражение
var a = ; var grek = /{1}/; for(var j = 0; j&lt;grek.length; j++) { ...

Регулярное выражение
Как найти в строчке все id=&quot;(вставить суда свой текст)_ss&quot; Возможно это...

Регулярное выражение
Всем привет. Использую динамическое переключение страниц и по индификатору...

3
newJS
2397 / 1070 / 307
Регистрация: 23.06.2011
Сообщений: 3,330
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
LeDep
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
newJS
2397 / 1070 / 307
Регистрация: 23.06.2011
Сообщений: 3,330
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 08:15

Регулярное выражение
Здравствуйте всем, Написал одно регулярное выражение для замены....

Регулярное выражение
&lt;input name=&quot;inp&quot; value=&quot;text 1 i text 2 pam pam 123,32 piy&quot;...

Регулярное выражение
Имеется такая разметка &lt;li class=&quot;cat-item cat-item-9&quot;&gt; &lt;a...


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

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

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