нашел решение :)
Цитата:
alert( "я мыл раму мылом, амиго".match( /^\S+|\S+$/g ).join( " " ) ); // "я амиго" |
Цитата:
|
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-ое пока не думал |
№ 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":{} }, "Какашка была в жопе"); |
Цитата:
|
Цитата:
Z njhjgk.cm e,tuf. yf hf,jne dtxthjv ,ele d bytnt b dc` hfccrf;e gjlhj,ytt |
Deff,
да, очень часто - надо написать такую функцию - эх только впадлу мне, впадлу :p |
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) ; |
Deff, Dim@, ну 'написать для перевода если вводили текст на русском языке, а раскладка была английская' нун делать также как и предыдущий пост, неохота писать...
А 5 задачу Dim@ уже сделал... И мне кажется, что 3-ью задачу низзя сделать без флагов |
Цитата:
function Five (obj, str) { return str.replace(/[a-zа-я]+/ig, function (word) { return word in obj ? obj[word]:word; }); } alert( Five({ "заяц": "петя", "крыльцо": "стрельцов" }, "вышел заяц на крыльцо")); Цитата:
Цитата:
|
melky,
я не понял 3-ю задачу :blink: надо узнать что идет после var txt = "txt";//fds? |
Цитата:
Цитата:
|
Цитата:
|
Решение 3 задачи:
alert("я мыл раму мылом, амиго".match(/я(?=.*(амиго))/).join(" ")); |
Цитата:
<script type="text/javascript"> function LatRus(TxtTrans1,a){TxtTrans1=='lat'? TxtTrans1='rus':TxtTrans1='lat'; lat0='qwertyuiopasdfghjkl;\'zxcvbnm\,QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>`~[].'.split(''); lat='qwertyuiopasdfghjkl;\'zxcvbnm\,QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>`~'.split(''); lat.push('\\[');lat.push('\\]');lat.push('\\.'); rus=('йцукенгшщзфывапролджэячсмитьбЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёЁхъю').split(''); function transF(p){ar1=lat;ar2=rus;if(TxtTrans1=='lat'){ar2=lat0;ar1=rus}for(var i=0; i<ar1.length; i++){trans='/'+ar1[i]+'/gm';p=p.replace(eval(trans), ar2[i])}return p;} return transF(a)} *!* var a='Z njhjgk.cm e,tuf. yf hf,jne dtxthjv ,ele d bytnt b dc` hfccrf;e gjlhj,ytt\n\ Z тороплюсь e,tuf. на работу dtxthjv буду d bytnt b всё расскажу gjlhj,ytt' */!* alert(LatRus('lat',a)) </script> |
Задача.
Функция принимает 2 натуральных числа, не больше 0xFFFFFFFE и возвращает наибольший общий делитель этих чисел. Дана заготовка этой функции. function gcd(m, n) { return (Array(m+1).join("*")+","+Array(n+1).join("*")).match(регулярка)[0].length; } Нужно вставить вместо "регулярка" регулярный литерал без флагов, так, чтобы функция выполняла своё задание. Регулярный литерал должен быть длиной не более 256 символов. Считается, что имеется бесконечное количество памяти и времени во время выполнения задания. |
выложу то что не лень было решить ;)
1) function prov(txt){ if (!/[^a-zA-z]+/ig.test(txt)) if (txt.length < 15) return true; else return false; else return false; } alert(prov("БЛАLl")); alert(prov("prov")); 2) function prov(txt){ if (/((\s)|(\S))\1/ig.test(txt)) return true; else return false; } alert(prov("Я пил яггу")); alert(prov("я пил ягу")); 4) function prov(txt){ txt = txt.replace(/(<title>.+<\/title>)/ig, function (e){ return e.replace(/(title)/ig, "div"); }); return txt; } alert(prov("<title>Я див</title>")); |
Цитата:
Цитата:
Цитата:
|
Цитата:
oneguy, не? function gcd( m, n ) { var str = new Array( m + 1 ).join( '*' ) + ',' + new Array( n + 1 ).join( '*' ); return str.match( /регулярка/ )[ 0 ].length; } |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
melky,
![]() |
melky, с днем варенья ) Успехов в начинаниях, здоровья :) Я сегодня тоже на дне рождении присутствовал у друга )
|
melky, поздравляю с днём рожденья!
|
melky, с днем рожденья)))
oneguy, буду думать))) |
melky,
с днем рождения! :victory: |
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
oneguy,
блин я замучался так как сделать такую регу? :blink: Просвети нас о Великий :D !!! |
Цитата:
|
Так что? Все уже сдались? Показать решение?
|
Цитата:
|
Ладно, подсказка:
(спойлер) Вы помните, что в регулярках можно использовать обратные ссылки? Например, можно проверить, не стоят ли вконце строки те же 5 символов, что и вначале: /^([\s\S]{5})[\s\S]*\1$/ (конец спойлера) Может после этой подсказки кто-то решит? |
[убрал]
Но решения я всё равно не знаю -.- |
Цитата:
Может быть, лучше спрячьте спойлер, а то melky ещё хотел подумать? |
oneguy, убрал
|
oneguy, Решение не показывайте пока - я завтра еще подумаю, да и melky хотел...P.S. но я не думаю, что у мну получится найти решение...
|
Часовой пояс GMT +3, время: 17:40. |