нашел решение :)
Цитата:
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, время: 10:37. |