Kot
Мне нужно в зависимости от них написать ОДНУ регулярку, которая схавает и строку (Test) (a) и строку (Test) b, что непонятного?
Denis
Мне всё понятно. А зачем тебе переменные?
Denis
Denis
Kot
a = '(a)'
b = 'b'
function esc(string)
{
return string.replace('(', '\\(').replace(')', '\\)');
}
re = new RegExp(`\\(Test\\) (${esc(a)}|${esc(b)})`);
re.test('(Test) (a)'); // true
re.test('(Test) b'); // trueМожет так понятнее будет
Syntax Highlight Bot
Denis
Kot
К тебе то же самое
Denis
Это бессмыслица, что ты пишешь
Kot
То есть код, который я скинул бессмысленный?
Kot
Что в нём непонятного?
Denis
Denis
Denis
Denis
Заметь я нового ничего не написал
Kot
Скинь регулярку
Denis
500р
Denis
Шучу
Denis
Переписывай - лучше запомнится
Denis
Можешь затестить @ocr_tool_bot
Kot
И что вообще эта функция возвращает?
Denis
Denis
Kot
Мне кажется, мы совершенно не поняли друг друга
Denis
Есть чат по регуляркам
Denis
Спроси там
Kot
Давай попробую ещё раз
Есть сходная строка (inputString) и есть несколько подстрок (a, b, ...)
Надо проверить что inputString вида (Test) ${a} или (Test) ${b} и т. д.
Denis
Уже не понятно
Denis
Что значит ${}?
Kot
Значение переменной
Denis
Какой переменной?
Kot
строковой
Denis
У тебя нет такой переменной
Denis
Отстань короче. Если я тебе не сделал, значит я не умею
Kot
a = 'string1';
b = 'string2';Нужна регулярка, которая пример строки
(Test) string1
(Test) string2Это просто регулярка
re = new RegExp(`\\(Test\\) (${a}|${b})`);
re.test('(Test) string1'); // true
re.test('(Test) string2'); // true
re.test('(Test) string3'); // falseПока понятно?
Denis
Ты реально дурачок?
Denis
Denis
Это вот твоя регулярка
Denis
Тебе не надо ${a}|${b}
Denis
Достаточно value
Denis
test('string1')
test('string2')
test('string3')
Denis
Denis
Kot
И? Они всегда true возвращают
Kot
В чём прикол?
Denis
Denis
Kot
Причём тут вообще переносы строк?
Denis
Denis
Denis
Denis
Если ты ещё не въехал, то это не твоё
Denis
Иди в официанты
Kot
Ну это уже совершенно другая функция, а ты говорил, что ничего не менял
Denis
Та же самая регулярка
Denis
Разницы нет
Denis
Сам проверяй, ты и так уже слишком дорого выходишь
Kot
Ну а структура меня и запутала, поэтому я и не понимал ничего. Так-то теперь понятно, но всё равно создаётся для каждой проверки своя регулярка
Kot
Тыща строк - тыща регулярок
Denis
Ты долбоеб или как?
{ NeFFeX }
Вахахахаха
Denis
В твоём варианте — две тыщи
Kot
Kot
У меня содаётся одна регулярка, для всех строк
Denis
Где две переменные
Kot
re = new RegExp(`\\(Test\\) (${esc(a)}|${esc(b)})`);
Denis
Kot
Всё
Denis
Kot
Дальше делается test для неё столько раз, сколько надо
Denis
У меня тоже одна функция всё обрабатывает
Denis
Формируется 1 раз
Kot
Так её надо для каждого варианта проверять
Denis
И твою тоже
Kot
Для каждого варианта выполнять функцию, внутри которой формируется регулярка
Kot
Я сразу создаю регулярку для всех вариантов
Denis
https://github.com/Piterden/vue-crossword/blob/master/src/components/BuilderPage.vue#L250
Denis