JavaScript << 1 ... 67 68 69 70 71 ... 78 >> 2.08.2019 / 01:56 | | slowproger Пользователь Сейчас: Offline
Имя: Tolik Регистрация: 22.07.2019
| RblSb, спасибо .Работает.Но в скрипте не хочет |
2.08.2019 / 02:13 | | RblSb Пользователь Сейчас: Offline
Регистрация: 25.07.2011
| var s = "text";
var r = new RegExp(`(^${s}$|${s} | ${s})`, 'gi');
console.log("text 'text'".replace(r, "hi"));
console.log("text".replace(r, "hi"));
|
2.08.2019 / 08:27 | | slowproger Пользователь Сейчас: Offline
Имя: Tolik Регистрация: 22.07.2019
| RblSb, спасибо.Но он в скрипте не работает как надо.Потому что я изменяю с помошю приложения хрома скрипт на сайте,и что-то не так заменилось и сломалось.Сейчас буду развиваться почему.Я уже неделю не могу разобраться.
Изменено slowproger (2.08 / 08:34) (всего 1 раз) |
2.08.2019 / 08:54 | | slowproger Пользователь Сейчас: Offline
Имя: Tolik Регистрация: 22.07.2019
| RblSb, нашёл причину, только целое слово должен находить.Если слитно с каким-то текстом,то меняет его,а не должен https://regex101.com/r/KRBvfg/1 Ну я подумал что первый мой вариант в этом случае актуальней,но только к нему добавить запрет замены если рядом точка стоит. Изменено slowproger (2.08 / 08:59) (всего 1 раз) |
2.08.2019 / 16:44 | | RblSb Пользователь Сейчас: Offline
Регистрация: 25.07.2011
| Да, не проверил. Вот так работает (^| )text($| ) https://regex101.com/r/KRBvfg/2 Изменено RblSb (2.08 / 16:44) (всего 1 раз) |
2.08.2019 / 17:36 | | slowproger Пользователь Сейчас: Offline
Имя: Tolik Регистрация: 22.07.2019
| RblSb, зачётная регулярка. Спасибо большое,всех благ |
25.11.2019 / 18:18 | | Askalite Пользователь Сейчас: Offline
Имя: Аскалайт Регистрация: 12.10.2011
| Матрицы <canvas id="c" width="200" height="200"></canvas>
<button id="mul">mul</button>
<script>
function multiplyMatrix(ae, be){
let ce= [
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
];
var a11 = ae[ 0 ], a12 = ae[ 4 ], a13 = ae[ 8 ], a14 = ae[ 12 ];
var a21 = ae[ 1 ], a22 = ae[ 5 ], a23 = ae[ 9 ], a24 = ae[ 13 ];
var a31 = ae[ 2 ], a32 = ae[ 6 ], a33 = ae[ 10 ], a34 = ae[ 14 ];
var a41 = ae[ 3 ], a42 = ae[ 7 ], a43 = ae[ 11 ], a44 = ae[ 15 ];
var b11 = be[ 0 ], b12 = be[ 4 ], b13 = be[ 8 ], b14 = be[ 12 ];
var b21 = be[ 1 ], b22 = be[ 5 ], b23 = be[ 9 ], b24 = be[ 13 ];
var b31 = be[ 2 ], b32 = be[ 6 ], b33 = be[ 10 ], b34 = be[ 14 ];
var b41 = be[ 3 ], b42 = be[ 7 ], b43 = be[ 11 ], b44 = be[ 15 ];
ce[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41;
ce[ 4 ] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42;
ce[ 8 ] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43;
ce[ 12 ] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44;
ce[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41;
ce[ 5 ] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42;
ce[ 9 ] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43;
ce[ 13 ] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44;
ce[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41;
ce[ 6 ] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42;
ce[ 10 ] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43;
ce[ 14 ] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44;
ce[ 3 ] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41;
ce[ 7 ] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42;
ce[ 11 ] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43;
ce[ 15 ] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44;
return ce;
}
var PM = [
2, 0, 0.5, 0,
0, 2, 0.5, 0,
0, 0, -5, -12,
0, 0, -1, 0
];
var VM = [
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 2.5,
0, 0, 0, 1
];
var PVM=multiplyMatrix(PM,VM);
function mulMV(m, v){
var k = [
m[0]*v[0]+m[1]*v[1]+m[2]*v[2]+m[3]*v[3],
m[4]*v[0]+m[5]*v[1]+m[6]*v[2]+m[7]*v[3],
m[8]*v[0]+m[9]*v[1]+m[10]*v[2]+m[11]*v[3],
m[12]*v[0]+m[13]*v[1]+m[14]*v[2]+m[15]*v[3]
];
return k;
}
var ver = [
[-1.0, -1.0, 0.0, 1],
[1.0, -1.0, 0.0, 1],
[0.0, 1.0, 0.0, 1]
];
document.getElementById('mul').onclick=function(){
var ce = document.getElementById("c");
var c = c.getContext("2d");
c.strokeStyle = "#000000";
c.stroke();
c.fillRect(0, 0, 100, 100);
c.strokeStyle = "#ff0000";
c.stroke();
var v0=mulMV(PVM,ver[0]);
c.moveTo(v0[0]*10,v0[1]*10);
var v1=mulMV(PVM,ver[1]);
c.lineTo(v1[0]*10,v1[1]*10)
var v2=mulMV(PVM,ver[2]);
c.lineTo(v2[0]*10,v2[1]*10)
c.lineTo(v0[0]*10,v0[1]*10);
}
</script>
|
25.12.2019 / 18:13 | | slowproger Пользователь Сейчас: Offline
Имя: Tolik Регистрация: 22.07.2019
| Мучаюсь с регуляркой,которая удавляет комментарии в коде. С блочным комментарием нормально.Но с однострочным проблемы.Регулярка находит слеши в строках и код программы удаляет его,что портит всю исходный код. Получается этого избежать только если однострочный комметарий на новой строке. Вот пример https://regex101.com/r/ipvEs9/1Может знаете как исключить поиск двух слешей в строках? Изменено slowproger (25.12 / 18:18) (всего 1 раз) |
25.12.2019 / 20:26 | | aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| slowproger, Посмотри в сторону обычного лексера, который пройдёт по исходнику, пропустит строки (с экранированием, со всеми подвохами) и удалит комментарии. Потому что у тебя может быть какой-нибудь: s = " /* \" " + 6 *// 7 */
8
И регулярка сойдёт с ума. __________________
let live Изменено aNNiMON (25.12 / 20:27) (всего 1 раз) |
25.12.2019 / 23:31 | | slowproger Пользователь Сейчас: Offline
Имя: Tolik Регистрация: 22.07.2019
| aNNiMON, ой и правда,я про это не подумал,что исключений будет много. Пойду искать какой нибудь уже готовый лексер. Спасибо |
<< 1 ... 67 68 69 70 71 ... 78 >> Всего сообщений: 780 Фильтровать сообщения Поиск по теме Файлы топика (20)
|