const text = "Оплата 6800р Карта*4215 IP SHARAFETDINO Баланс 199083.86р 09:56"; const balanceRegex = /(баланс)[:\s]*([0-9][0-9\s]*[.,]?\d{0,2})\s*(₽|руб\.?|rub|р)\b/i; console.log("Текст:", text); console.log("Регулярка:", balanceRegex); // Проверим по шагам console.log("\n=== ДИАГНОСТИКА ==="); // 1. Проверим, есть ли слово "баланс" в тексте console.log("1. Содержит 'Баланс':", text.includes("Баланс")); console.log(" Индекс 'Баланс':", text.indexOf("Баланс")); // 2. Проверим символ после "Баланс" const balanceIndex = text.indexOf("Баланс"); if (balanceIndex > -1) { const afterBalance = text.substring(balanceIndex, balanceIndex + 20); console.log("2. Текст после 'Баланс':", afterBalance); console.log(" Коды символов после 'Баланс':"); for (let i = 0; i < 10; i++) { const char = text[balanceIndex + 7 + i]; console.log(` ${char} (${char?.charCodeAt(0)})`); } } // 3. Проверим часть с суммой вручную console.log("\n3. Проверка частичными регулярками:"); // Проверяем только слово "баланс" const test1 = /баланс/i.test(text); console.log(" Находит 'баланс':", test1); // Проверяем "баланс" с пробелом и числом const test2 = /баланс\s*\d/i.test(text); console.log(" Находит 'баланс' с числом:", test2); // Проверяем всю сумму без валюты const test3 = text.match(/баланс[:\s]*([\d\s.,]+)/i); console.log(" Находит сумму без валюты:", test3); // Проверяем валюту отдельно const test4 = text.match(/р\b/); console.log(" Находит 'р' с границей слова:", test4); // Альтернативная регулярка без \b const balanceRegexSimple = /(баланс)[:\s]*([0-9][0-9\s]*[.,]?\d{0,2})\s*(₽|руб\.?|rub|р)/i; console.log("\n4. С упрощенной регуляркой (без \\b):"); console.log(" Результат:", text.match(balanceRegexSimple));