Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 29.07.2012, 12:20
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

нашел решение
Сообщение от melky
написать сюда регу, при которой код бы возвращал то, что указано в комметарии : (флагов нет!)
"я мыл раму мылом, амиго".match(/текст реги/).join(" "); // "я амиго"
alert( "я мыл раму мылом, амиго".match( /^\S+|\S+$/g ).join( " " ) ); // "я амиго"
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #42 (permalink)  
Старый 29.07.2012, 12:29
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от nerv_ Посмотреть сообщение
нашел решение

alert( "я мыл раму мылом, амиго".match( /^\S+|\S+$/g ).join( " " ) ); // "я амиго"
без флагов в том числе "global"
Ответить с цитированием
  #43 (permalink)  
Старый 29.07.2012, 17:08
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

melky, а вы уверены, что 3-ье задание можно выполнить без флагов?

1-ое и 2-ое задание nerv_ уже выполнил, так что не вижу смысла их повторять

Вот 4-ое задание

var pat = /<title>([\S\s]+)<\/title>/i ;

var text = '<title>заголовок</title>' ;

text = text.replace(pat, function(a, b) {return '<div>'+b+'</div>'}) ;

alert (text) ;


Этот код работает ток еси в тексте один тег title. Я не думаю, что нужно, где много тегов title, хотя еси именно это нужно, то воть

var pat = /<title>([\S\s]+?)<\/title>/i ;

var text = '<title>заголовок</title> <title>текст</title>' ;

text = text.replace(pat, function(a, b) {return '<div>'+b+'</div>'}) ;

alert (text) ;

5-ое пока не думал
Ответить с цитированием
  #44 (permalink)  
Старый 29.07.2012, 17:42
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

№ 5
function Five(obj, str){
  if (obj == undefined || obj == null || str == undefined || str == null) return; 
  var izm = str;
  for (var i in obj){
    var k = i + "";
    if (typeof obj[k] == "number" || typeof obj[k] == "string"){
     var reg = new RegExp(i, "i", "g");
     str = str.replace(reg, obj[k]);
    }
  }
  alert(izm + "\n" + str);
}
Five({
"Какашка":"Капуста",
"была":"делала",
"в жопе":"какашку",
"lLLL":{}
}, "Какашка была в жопе");

Последний раз редактировалось Dim@, 29.07.2012 в 18:05. Причина: Сделал более интересный пример
Ответить с цитированием
  #45 (permalink)  
Старый 29.07.2012, 17:50
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Сообщение от Deff Посмотреть сообщение
Hekumok,
Написать функцию транслитерации русского текста - латиницей и наоборот
написать для перевода если вводили текст на русском языке, а раскладка была английская
Ответить с цитированием
  #46 (permalink)  
Старый 29.07.2012, 18:35
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Dim@
написать для перевода если вводили текст на русском языке, а раскладка была английская
Оч часто в чатах и форумах - пример
Z njhjgk.cm e,tuf. yf hf,jne dtxthjv ,ele d bytnt b dc` hfccrf;e gjlhj,ytt
Ответить с цитированием
  #47 (permalink)  
Старый 29.07.2012, 18:37
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Deff,
да, очень часто - надо написать такую функцию - эх только впадлу мне, впадлу
Ответить с цитированием
  #48 (permalink)  
Старый 29.07.2012, 19:28
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Deff, русский->английский
var pat = /\S/img ;
var text = 'а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ы ь э ю я' ;
text = text.replace(pat, function(a) {
if (a=='а') return 'a' ;
if (a=='б') return 'b' ;
if (a=='в') return 'v' ;
if (a=='г') return 'g' ;
if (a=='д') return 'd' ;
if (a=='е'||a=='э') return 'e' ;
if (a=='ё') return 'yo' ;
if (a=='ж') return 'zh' ;
if (a=='з') return 'z' ;
if (a=='и'||a=='й') return 'i' ;
if (a=='к') return 'k' ;
if (a=='л') return 'l' ;
if (a=='м') return 'm' ;
if (a=='н') return 'n' ;
if (a=='о') return 'o' ;
if (a=='п') return 'p' ;
if (a=='р') return 'r' ;
if (a=='с') return 's' ;
if (a=='т') return 't' ;
if (a=='у') return 'u' ;
if (a=='ф') return 'f' ;
if (a=='х') return 'h' ;
if (a=='ц') return 'ts' ;
if (a=='ч') return 'ch' ;
if (a=='ш') return 'sh' ;
if (a=='щ') return 'sch' ;
if (a=='ы') return 'y' ;
if (a=='ь') return "'" ;
if (a=='ю') return 'yu' ;
if (a=='я') return 'ya' ;
}) ;
alert (text) ;

Последний раз редактировалось Hekumok, 29.07.2012 в 20:11.
Ответить с цитированием
  #49 (permalink)  
Старый 29.07.2012, 20:00
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Deff, Dim@, ну 'написать для перевода если вводили текст на русском языке, а раскладка была английская' нун делать также как и предыдущий пост, неохота писать...
А 5 задачу Dim@ уже сделал...
И мне кажется, что 3-ью задачу низзя сделать без флагов
Ответить с цитированием
  #50 (permalink)  
Старый 29.07.2012, 20:50
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Dim@ Посмотреть сообщение
№ 5
function Five(obj, str){
  if (obj == undefined || obj == null || str == undefined || str == null) return; 
  var izm = str;
  for (var i in obj){
    var k = i + "";
    if (typeof obj[k] == "number" || typeof obj[k] == "string"){
     var reg = new RegExp(i, "i", "g");
     str = str.replace(reg, obj[k]);
    }
  }
  alert(izm + "\n" + str);
}
Five({
"Какашка":"Капуста",
"была":"делала",
"в жопе":"какашку",
"lLLL":{}
}, "Какашка была в жопе");
как сложно. всё проще :
function Five (obj, str) {
    return str.replace(/[a-zа-я]+/ig, function (word) {
        return word in obj ? obj[word]:word;
    });
}

alert( Five({
    "заяц": "петя",
    "крыльцо": "стрельцов"
}, "вышел заяц на крыльцо"));


Сообщение от Hekumok
А 5 задачу Dim@ уже сделал...
я ж Вам задачи дал, а не всем

Сообщение от Hekumok
И мне кажется, что 3-ью задачу низзя сделать без флагов
сдаётесь? сделать можно, и очень просто. учите реги
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо скрыть ссылки, кроме ведущих на изображения Keksman jQuery 4 04.03.2012 20:17
overflow:auto и #-ссылки vania-pooh (X)HTML/CSS 3 02.01.2011 21:16
Регулярное выражение, замена ссылки к файлу на имя файла libinstyle Events/DOM/Window 2 19.07.2010 17:50
ссылки получали стиль "visited" только на время сессии alexandr_poskrobka Серверные языки и технологии 7 10.03.2010 08:48
ССЫЛКИ (Помогите новичку) meggen (X)HTML/CSS 8 30.11.2009 10:51